인터렉션 서브 시스템 초안 작성
This commit is contained in:
parent
c7a4aee67d
commit
4c7d9c17e6
@ -99,5 +99,279 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 8605899758048842936}
|
||||
- targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 6282952769554945552}
|
||||
- targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 4598203232635129220}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
--- !u!1 &9211739394093953175 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
m_PrefabInstance: {fileID: 4777358697124966162}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &8605899758048842936
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9211739394093953175}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c0b1e0992510498b8d33d5b6094b8f4b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_interactionType: 4
|
||||
_executionParameters:
|
||||
_holdTime: 1
|
||||
_displayParameters:
|
||||
_messageKey:
|
||||
_interactionAvailableFlows: 1
|
||||
_aiInteractionPoints: []
|
||||
_initialOrderInteractionType: 0
|
||||
--- !u!114 &6282952769554945552
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9211739394093953175}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 888380afc233049ce9e618f9f36c8ba8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
profile: {fileID: 0}
|
||||
profileSync: 0
|
||||
camerasLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
effectGroup: 0
|
||||
effectTarget: {fileID: 0}
|
||||
effectGroupLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
effectNameFilter:
|
||||
effectNameUseRegEx: 0
|
||||
combineMeshes: 0
|
||||
alphaCutOff: 0
|
||||
cullBackFaces: 1
|
||||
padding: 0
|
||||
ignoreObjectVisibility: 0
|
||||
reflectionProbes: 0
|
||||
GPUInstancing: 1
|
||||
sortingPriority: 0
|
||||
optimizeSkinnedMesh: 1
|
||||
depthClip: 0
|
||||
cameraDistanceFade: 0
|
||||
cameraDistanceFadeNear: 0
|
||||
cameraDistanceFadeFar: 1000
|
||||
normalsOption: 0
|
||||
ignore: 0
|
||||
_highlighted: 0
|
||||
fadeInDuration: 0
|
||||
fadeOutDuration: 0
|
||||
flipY: 0
|
||||
constantWidth: 1
|
||||
extraCoveragePixels: 0
|
||||
minimumWidth: 0
|
||||
subMeshMask: -1
|
||||
overlay: 0
|
||||
overlayMode: 0
|
||||
overlayColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||
overlayAnimationSpeed: 1
|
||||
overlayMinIntensity: 0.5
|
||||
overlayBlending: 1
|
||||
overlayTexture: {fileID: 0}
|
||||
overlayTextureUVSpace: 0
|
||||
overlayTextureScale: 1
|
||||
overlayTextureScrolling: {x: 0, y: 0}
|
||||
overlayVisibility: 0
|
||||
outline: 1
|
||||
outlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
outlineColorStyle: 0
|
||||
outlineGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
outlineGradientInLocalSpace: 0
|
||||
outlineWidth: 0.45
|
||||
outlineBlurPasses: 2
|
||||
outlineQuality: 3
|
||||
outlineEdgeMode: 0
|
||||
outlineEdgeThreshold: 0.995
|
||||
outlineSharpness: 1
|
||||
outlineDownsampling: 1
|
||||
outlineVisibility: 0
|
||||
glowBlendMode: 0
|
||||
outlineBlitDebug: 0
|
||||
outlineIndependent: 0
|
||||
outlineContourStyle: 0
|
||||
outlineMaskMode: 0
|
||||
glow: 0
|
||||
glowWidth: 0.4
|
||||
glowQuality: 3
|
||||
glowBlurMethod: 0
|
||||
glowDownsampling: 2
|
||||
glowHQColor: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
glowDithering: 1
|
||||
glowDitheringStyle: 0
|
||||
glowMagicNumber1: 0.75
|
||||
glowMagicNumber2: 0.5
|
||||
glowAnimationSpeed: 1
|
||||
glowVisibility: 0
|
||||
glowBlitDebug: 0
|
||||
glowBlendPasses: 1
|
||||
glowPasses:
|
||||
- offset: 4
|
||||
alpha: 0.1
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
- offset: 3
|
||||
alpha: 0.2
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
- offset: 2
|
||||
alpha: 0.3
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
- offset: 1
|
||||
alpha: 0.4
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
glowMaskMode: 0
|
||||
innerGlow: 0
|
||||
innerGlowWidth: 1
|
||||
innerGlowColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
innerGlowBlendMode: 0
|
||||
innerGlowVisibility: 0
|
||||
targetFX: 0
|
||||
targetFXTexture: {fileID: 0}
|
||||
targetFXColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
targetFXCenter: {fileID: 0}
|
||||
targetFXRotationSpeed: 50
|
||||
targetFXInitialScale: 4
|
||||
targetFXEndScale: 1.5
|
||||
targetFXScaleToRenderBounds: 1
|
||||
targetFXUseEnclosingBounds: 0
|
||||
targetFXAlignToGround: 0
|
||||
targetFXOffset: {x: 0, y: 0, z: 0}
|
||||
targetFXFadePower: 32
|
||||
targetFXGroundMaxDistance: 10
|
||||
targetFXGroundLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
targetFXTransitionDuration: 0.5
|
||||
targetFXStayDuration: 1.5
|
||||
targetFXVisibility: 1
|
||||
iconFX: 0
|
||||
iconFXMesh: {fileID: 0}
|
||||
iconFXLightColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
iconFXDarkColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
iconFXCenter: {fileID: 0}
|
||||
iconFXRotationSpeed: 50
|
||||
iconFXAnimationOption: 0
|
||||
iconFXAnimationAmount: 0.1
|
||||
iconFXAnimationSpeed: 3
|
||||
iconFXScale: 1
|
||||
iconFXScaleToRenderBounds: 0
|
||||
iconFXOffset: {x: 0, y: 1, z: 0}
|
||||
iconFXTransitionDuration: 0.5
|
||||
iconFXStayDuration: 1.5
|
||||
seeThrough: 2
|
||||
seeThroughOccluderMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
seeThroughOccluderThreshold: 0.3
|
||||
seeThroughOccluderMaskAccurate: 0
|
||||
seeThroughOccluderCheckInterval: 1
|
||||
seeThroughOccluderCheckIndividualObjects: 0
|
||||
seeThroughDepthOffset: 0
|
||||
seeThroughMaxDepth: 0
|
||||
seeThroughIntensity: 0.8
|
||||
seeThroughTintAlpha: 0.5
|
||||
seeThroughTintColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
seeThroughNoise: 1
|
||||
seeThroughBorder: 0
|
||||
seeThroughBorderColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
seeThroughBorderOnly: 0
|
||||
seeThroughBorderWidth: 0.45
|
||||
seeThroughOrdered: 0
|
||||
seeThroughTexture: {fileID: 0}
|
||||
seeThroughTextureUVSpace: 0
|
||||
seeThroughTextureScale: 1
|
||||
seeThroughChildrenSortingMode: 0
|
||||
rmsCount: 1
|
||||
hitFxInitialIntensity: 0
|
||||
hitFxMode: 0
|
||||
hitFxFadeOutDuration: 0.25
|
||||
hitFxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
hitFxRadius: 0.5
|
||||
--- !u!114 &4598203232635129220
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9211739394093953175}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f0feb22ab60a4d1885271637838f43b9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_availableStyle:
|
||||
Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
Width: 1
|
||||
Opacity: 1
|
||||
_focusedStyle:
|
||||
Color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||
Width: 1
|
||||
Opacity: 1
|
||||
_unavailableStyle:
|
||||
Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
Width: 0.5
|
||||
Opacity: 1
|
||||
_objectiveStyle:
|
||||
Color: {r: 0, g: 1, b: 1, a: 1}
|
||||
Width: 1
|
||||
Opacity: 1
|
||||
_breathingSpeed: 2
|
||||
_breathingRange: 0.3
|
||||
_enableBreathingEffect: 1
|
||||
_alphaCutOff: 0.5
|
||||
_combineMeshes: 1
|
||||
_constantWidth: 1
|
||||
_outlineQuality: 2
|
||||
_outlineIndependent: 1
|
||||
_outlineBlurPasses: 1
|
||||
_outlineSharpness: 8
|
||||
_currentOutlineType: 0
|
||||
_currentOpacityMultiplier: 1
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -21,7 +21,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -34,7 +34,7 @@ Material:
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses:
|
||||
|
@ -423,7 +423,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 81e01dd8c1cc3404d805400eba1bb4ae, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_interactionType: 4294967295
|
||||
_interactionType: 4294967287
|
||||
_nearColliders:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
|
@ -1,4 +1,16 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
|
||||
public interface IInteractionSubsystemObject<T> where T : Enum
|
||||
{
|
||||
T GetInteractionSubsystemType();
|
||||
}
|
||||
public interface IInteractionSubsystemSolver<T> where T : Enum
|
||||
{
|
||||
bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null);
|
||||
bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null,
|
||||
ScriptableObject payloadSo = null);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
[Flags]
|
||||
public enum RestaurantManagementType : uint
|
||||
{
|
||||
OpenRestaurantMenu = 0,
|
||||
StartRestaurant = 1,
|
||||
}
|
||||
|
||||
//public class RestaurantManagementInteraction : RestaurantInteractionComponent, IInteractionSubsystemObject<RestaurantManagementType>
|
||||
//{
|
||||
//
|
||||
//}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1235f6bde9304d8f85079f2777bd4b3c
|
||||
timeCreated: 1755671037
|
@ -3,29 +3,12 @@
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
public interface IInteractionSubsystemObject<T> where T : Enum
|
||||
{
|
||||
T GetInteractionSubsystemType();
|
||||
}
|
||||
public interface IInteractionSubsystemSolver<T> where T : Enum
|
||||
{
|
||||
bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null);
|
||||
bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null,
|
||||
ScriptableObject payloadSo = null);
|
||||
}
|
||||
|
||||
public interface IInteractionSubsystemSubject<T> where T : Enum
|
||||
{
|
||||
bool CanSolveInteractionType(T interactionSubsystemType);
|
||||
bool CanInteractTo(IInteractionSubsystemObject<T> interactableSubsystemObject,
|
||||
ScriptableObject payloadSo = null);
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum RestaurantOrderInteractionType : uint
|
||||
{
|
||||
// None = 0u,
|
||||
WaitCustomer = 1u << 0,
|
||||
WaitCustomer = 0,
|
||||
// WaitCustomer = 1u << 0,
|
||||
// WaitOrder = 1u << 1,
|
||||
// WaitServe = 1u << 2,
|
||||
// All = 0xFFFFFFFFu
|
||||
@ -48,25 +31,45 @@ private void OnValidate()
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
||||
_currentRestaurantOrderInteractionType = _initialOrderInteractionType;
|
||||
}
|
||||
|
||||
private void SetInteractionTypeToRestaurantOrder()
|
||||
{
|
||||
_interactionType = InteractionType.RestaurantOrder;
|
||||
}
|
||||
InteractionType GetInteractionType()
|
||||
public override InteractionType GetInteractionType()
|
||||
{
|
||||
return InteractionType.RestaurantOrder;
|
||||
}
|
||||
bool CanInteract()
|
||||
public override bool CanInteract()
|
||||
{
|
||||
return TODO_IMPLEMENT_ME;
|
||||
// 현재 RestaurantOrderInteractionType를 수행할 수 있는지?
|
||||
if (GetInteractionSubsystemType() == RestaurantOrderInteractionType.WaitCustomer)
|
||||
{
|
||||
// Check WaitCustomer
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null)
|
||||
{
|
||||
// _currentRestaurantOrderInteractionType에 따라 동작이 달라지겠지
|
||||
if (GetInteractionSubsystemType() == RestaurantOrderInteractionType.WaitCustomer)
|
||||
{
|
||||
// DO WAIT CUSTOMER
|
||||
}
|
||||
return base.OnInteracted(interactor, payloadSo);
|
||||
}
|
||||
|
||||
public override void InitializeInteraction(InteractionType interactionType)
|
||||
{
|
||||
// RestaurantOrderInteractionType에 따른 동작들을 초기화
|
||||
// Initialize WaitCustomer actions
|
||||
base.InitializeInteraction(interactionType);
|
||||
}
|
||||
bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null);
|
||||
void InitializeInteraction(InteractionType interactionType);
|
||||
InteractionExecutionParameters GetExecutionParameters();
|
||||
InteractionDisplayParameters GetDisplayParameters();
|
||||
|
||||
public RestaurantOrderInteractionType GetInteractionSubsystemType()
|
||||
{
|
||||
|
@ -11,19 +11,19 @@ public class RestaurantInteractionComponent : MonoBehaviour, IInteractable
|
||||
[SerializeField] protected GameFlowState _interactionAvailableFlows;
|
||||
[SerializeField] private Transform[] _aiInteractionPoints;
|
||||
|
||||
public bool CanInteract()
|
||||
public virtual bool CanInteract()
|
||||
{
|
||||
return !IsInteractionHidden();
|
||||
}
|
||||
|
||||
public bool IsInteractionHidden()
|
||||
public virtual bool IsInteractionHidden()
|
||||
{
|
||||
var currentGameFlowState = GameFlowManager.Instance.GameFlowDataSo.CurrentGameState;
|
||||
var flowDisabled = (currentGameFlowState & _interactionAvailableFlows) == 0;
|
||||
return flowDisabled;
|
||||
}
|
||||
|
||||
public bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null)
|
||||
public virtual bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null)
|
||||
{
|
||||
if (CanInteract() == false)
|
||||
{
|
||||
@ -34,7 +34,7 @@ public bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = nu
|
||||
return interactionResult;
|
||||
}
|
||||
|
||||
public InteractionType GetInteractionType()
|
||||
public virtual InteractionType GetInteractionType()
|
||||
{
|
||||
return _interactionType;
|
||||
}
|
||||
@ -44,18 +44,18 @@ public GameObject GetInteractableGameObject()
|
||||
return gameObject;
|
||||
}
|
||||
|
||||
public void InitializeInteraction(InteractionType interactionType)
|
||||
public virtual void InitializeInteraction(InteractionType interactionType)
|
||||
{
|
||||
_interactionType = interactionType;
|
||||
}
|
||||
|
||||
// 새로운 스트럭트 기반 메서드들
|
||||
public InteractionExecutionParameters GetExecutionParameters()
|
||||
public virtual InteractionExecutionParameters GetExecutionParameters()
|
||||
{
|
||||
return _executionParameters;
|
||||
}
|
||||
|
||||
public InteractionDisplayParameters GetDisplayParameters()
|
||||
public virtual InteractionDisplayParameters GetDisplayParameters()
|
||||
{
|
||||
return _displayParameters;
|
||||
}
|
||||
|
@ -17,7 +17,17 @@ public bool CanExecuteInteraction(IInteractor interactor = null, IInteractable i
|
||||
|
||||
public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null)
|
||||
{
|
||||
TODO_IMPLEMENT_ME
|
||||
if (interactable is IInteractionSubsystemObject<RestaurantOrderInteractionType> subsystem)
|
||||
{
|
||||
RestaurantOrderInteractionType interactionType = subsystem.GetInteractionSubsystemType();
|
||||
// Can I solve this interaction type?
|
||||
if (interactionType == RestaurantOrderInteractionType.WaitCustomer)
|
||||
{
|
||||
// DO SOMETHING!!!
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null,
|
||||
@ -27,7 +37,10 @@ public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInter
|
||||
{
|
||||
RestaurantOrderInteractionType interactionType = subsystem.GetInteractionSubsystemType();
|
||||
// Can I solve this interaction type?
|
||||
TODO_IMPLEMENT_ME
|
||||
if (interactionType == RestaurantOrderInteractionType.WaitCustomer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
BIN
ProjectSettings/EditorBuildSettings.asset
(Stored with Git LFS)
BIN
ProjectSettings/EditorBuildSettings.asset
(Stored with Git LFS)
Binary file not shown.
BIN
ProjectSettings/EntitiesClientSettings.asset
(Stored with Git LFS)
Normal file
BIN
ProjectSettings/EntitiesClientSettings.asset
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user