Merge pull request 'feature/dirty_trash_interaction' (#38) from feature/dirty_trash_interaction into develop

Reviewed-on: #38
This commit is contained in:
Jeonghyeon 2025-09-02 06:06:34 +00:00
commit 3e0b7c322a
25 changed files with 5925 additions and 53 deletions

View File

@ -12,7 +12,7 @@ GameObject:
- component: {fileID: 8265494928291148343}
- component: {fileID: 2739769706013484733}
- component: {fileID: 5210806482330915924}
m_Layer: 0
m_Layer: 7
m_Name: Spine GameObject (Trashcan)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -106,7 +106,7 @@ MonoBehaviour:
initialFlipY: 0
updateWhenInvisible: 3
separatorSlotNames: []
zSpacing: 0
zSpacing: -0.0005
useClipping: 1
immutableTriangles: 0
pmaVertexColors: 1
@ -138,10 +138,18 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3406375906160120237, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: 3406375906160120237, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3511876579184512741, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalScale.x
value: 1
@ -198,14 +206,293 @@ PrefabInstance:
propertyPath: m_Name
value: Prop_Trashcan
objectReference: {fileID: 0}
- target: {fileID: 9211739394093953175, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 8881739536043914635, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
insertIndex: 0
addedObject: {fileID: 8327749831302471016}
m_AddedComponents: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 9211739394093953175, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
insertIndex: -1
addedObject: {fileID: 1306886132046416555}
- targetCorrespondingSourceObject: {fileID: 9211739394093953175, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
insertIndex: -1
addedObject: {fileID: 7977710813131547754}
- targetCorrespondingSourceObject: {fileID: 9211739394093953175, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
insertIndex: -1
addedObject: {fileID: 3620652486811179709}
m_SourcePrefab: {fileID: 100100000, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
--- !u!1 &6576439486311623297 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 9211739394093953175, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
m_PrefabInstance: {fileID: 2635336900336278038}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1306886132046416555
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6576439486311623297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 201f9e6d7ca7404baa9945950292a392, type: 3}
m_Name:
m_EditorClassIdentifier:
_interactionType: 16
_executionParameters:
_holdTime: 1
_displayParameters:
<DefaultMessageKey>k__BackingField:
<ConditionalMessageKey>k__BackingField:
_interactionAvailableFlows: 2
_aiInteractionPoints: []
_autoInitialize: 1
--- !u!114 &7977710813131547754
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6576439486311623297}
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: 2
hitFxInitialIntensity: 0
hitFxMode: 0
hitFxFadeOutDuration: 0.25
hitFxColor: {r: 1, g: 1, b: 1, a: 1}
hitFxRadius: 0.5
--- !u!114 &3620652486811179709
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6576439486311623297}
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
--- !u!4 &6904264511603437469 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8881739536043914635, guid: 15c73973805ba914cbcc9929659591d9, type: 3}

View File

@ -426,7 +426,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 81e01dd8c1cc3404d805400eba1bb4ae, type: 3}
m_Name:
m_EditorClassIdentifier:
_availableInteractions: 15
_availableInteractions: 31
_nearColliders:
- {fileID: 0}
- {fileID: 0}

Binary file not shown.

View File

@ -12,6 +12,7 @@ public enum InteractionType : uint
RestaurantManagement = 1u << 0,
RestaurantOrder = 1u << 1,
RestaurantCook = 1u << 3,
RestaurantTrash = 1u << 4,
All = 0xFFFFFFFFu
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3ccf6fe11034f47bb919858425c88639
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 19cebae8480a34e3fbbbe68cf80aff6c
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: bdfbe0e1177bb41f7b119e0c091be646
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -22,7 +22,7 @@ public bool TryGetValueByTypeName(string interactionTypeName, string subsystemTy
targetString = $"{interactionTypeName}.{subsystemTypeName}";
}
interactionDataEntry = _datas.FirstOrDefault(entry =>
string.Equals(entry.UnparsedInteractionType, targetString, StringComparison.Ordinal));
string.Equals(entry.Id, targetString, StringComparison.Ordinal));
return interactionDataEntry != null;
}

View File

@ -12,11 +12,6 @@ public class InteractionDataEntry : IId
[field: SerializeField]
public string Id { get; set; }
/// <summary>파싱 전 타입</summary>
[Tooltip("파싱 전 타입")]
[field: SerializeField]
public string UnparsedInteractionType;
/// <summary>상호작용 기본 현지화 키 값</summary>
[Tooltip("상호작용 기본 현지화 키 값")]
[field: SerializeField]
@ -26,5 +21,9 @@ public class InteractionDataEntry : IId
[Tooltip("상호작용 예외처리 현지화 키 값")]
[field: SerializeField]
public string ConditionalMessageKey;
[Tooltip("상호작용 실행 홀드 타임")]
[field: SerializeField]
public float HoldTime;
}
}

View File

@ -1760,72 +1760,72 @@
{
"Id": "식별ID",
"#설명": "설명",
"UnparsedInteractionType:string": "파싱 전 타입",
"DefaultMessageKey:string": "상호작용 기본 현지화 키 값",
"ConditionalMessageKey:string": "상호작용 예외처리 현지화 키 값"
"ConditionalMessageKey:string": "상호작용 예외처리 현지화 키 값",
"HoldTime:float": ""
},
{
"Id": "interaction_001",
"Id": "RestaurantManagement.OpenManagementUi",
"#설명": "준비단계 - 메뉴 ui 오픈",
"UnparsedInteractionType:string": "RestaurantManagement.OpenManagementUi",
"DefaultMessageKey:string": "interaction_001_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0
},
{
"Id": "interaction_002",
"Id": "RestaurantManagement.RunRestaurant",
"#설명": "준비단계 - 레스토랑 오픈",
"UnparsedInteractionType:string": "RestaurantManagement.RunRestaurant",
"DefaultMessageKey:string": "interaction_002_default",
"ConditionalMessageKey:string": "interaction_002_failure"
"ConditionalMessageKey:string": "interaction_002_failure",
"HoldTime:float": 1
},
{
"Id": "interaction_003",
"Id": "RestaurantOrder.Order",
"#설명": "운영중 - 손님 주문 받기",
"UnparsedInteractionType:string": "RestaurantOrder.Order",
"DefaultMessageKey:string": "interaction_003_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0.5
},
{
"Id": "interaction_004",
"Id": "RestaurantOrder.Serve",
"#설명": "운영중 - 요리 서빙하기",
"UnparsedInteractionType:string": "RestaurantOrder.Serve",
"DefaultMessageKey:string": "interaction_004_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0.5
},
{
"Id": "interaction_005",
"Id": "RestaurantOrder.Dirty",
"#설명": "운영중 - 테이블 치우기",
"UnparsedInteractionType:string": "RestaurantOrder.TableDirty",
"DefaultMessageKey:string": "interaction_005_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 1
},
{
"Id": "interaction_006",
"Id": "RestaurantCook.StartCooking",
"#설명": "운영중 - 요리도구를 통해 요리 ui 오픈",
"UnparsedInteractionType:string": "RestaurantCook.StartCooking",
"DefaultMessageKey:string": "interaction_006_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0
},
{
"Id": "interaction_007",
"Id": "RestaurantWork.CleaningFloor_TODO",
"#설명": "운영중 - 청소하기",
"UnparsedInteractionType:string": "RestaurantOrder.FloorDirty",
"DefaultMessageKey:string": "interaction_007_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 1
},
{
"Id": "interaction_008",
"Id": "RestaurantServe",
"#설명": "운영중 - 음식을 서빙 테이블에 놓기",
"UnparsedInteractionType:string": "RestaurantOrder.ServingTable",
"DefaultMessageKey:string": "interaction_008_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0
},
{
"Id": "interaction_009",
"Id": "RestaurantTrash",
"#설명": "운영중 - 음식과 빈그릇 버리기",
"UnparsedInteractionType:string": "RestaurantOrder.Throw",
"DefaultMessageKey:string": "interaction_009_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 1
}
]
}

View File

@ -17,7 +17,7 @@ public interface ICarrier
bool IsCarrying();
bool CanCarryTo(ICarriable carriable);
void Carry(ICarriable carriable);
void Use(ICarriable carriable);
void Use();
}
public interface ICarriable
@ -78,7 +78,7 @@ public void Carry(ICarriable carriable)
EventBus.Broadcast(evt);
}
public void Use(ICarriable carriable)
public void Use()
{
_currentCarriable = null;
_speechBubble?.Hide();

View File

@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using Sirenix.Serialization;
using UnityEngine;
using UnityEngine.Serialization;
@ -49,7 +51,7 @@ public class InteractionSubsystem_Order : MonoBehaviour, IInteractionSubsystemOb
{
[SerializeField] private RestaurantOrderType _currentRestaurantOrderType = RestaurantOrderType.Wait;
[SerializeField] private RestaurantOrderObjectState _orderObjectState = new();
public bool CanInteract()
{
if (GetInteractionSubsystemType() == RestaurantOrderType.Wait)

View File

@ -134,16 +134,41 @@ private bool TryGetSubsystem(InteractionType interactionType, out IInteractionSu
return _subsystems.TryGetValue(interactionType, out subsystem);
}
private bool FindCurrentInteractionDataEntry(out InteractionDataEntry interactionDataEntry)
{
string interactionType = _interactionType.ToString();
string subsystemType = string.Empty;
if (HasSubsystem(_interactionType) && GetSubsystem(_interactionType) != null)
{
subsystemType = GetSubsystem(_interactionType).GetCurrentSubsystemTypeName();
}
bool dataFound = DataManager.Instance.GetDataAsset<InteractionDataAsset>().TryGetValueByTypeName(interactionType,
subsystemType, out interactionDataEntry);
if (!dataFound)
{
interactionDataEntry = new InteractionDataEntry();
}
return dataFound;
}
// 새로운 스트럭트 기반 메서드들
public virtual InteractionExecutionParameters GetExecutionParameters()
{
bool dataFound = FindCurrentInteractionDataEntry(out var interactionDataEntry);
if (!dataFound)
{
return new InteractionExecutionParameters();
}
_executionParameters = new InteractionExecutionParameters(interactionDataEntry.HoldTime);
return _executionParameters;
}
public virtual InteractionDisplayParameters GetDisplayParameters()
{
if (DataManager.Instance.GetDataAsset<InteractionDataAsset>().TryGetValueByTypeName(_interactionType.ToString(),
_subsystems[_interactionType].GetCurrentSubsystemTypeName(), out var interactionDataEntry) == false)
bool dataFound = FindCurrentInteractionDataEntry(out var interactionDataEntry);
if (!dataFound)
{
return new InteractionDisplayParameters();
}

View File

@ -11,7 +11,8 @@ public static class RestaurantInteractionEventSolvers
{
{InteractionType.RestaurantManagement, typeof(RestaurantManagementSolver)},
{InteractionType.RestaurantOrder, typeof(RestaurantOrderSolver)},
{InteractionType.RestaurantCook, typeof(RestaurantCookSolver)}
{InteractionType.RestaurantCook, typeof(RestaurantCookSolver)},
{InteractionType.RestaurantTrash, typeof(RestaurantTrashSolver)}
};
public static readonly Dictionary<InteractionType, Type> TypeToPlayerSolver = new()
{

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3d48481b0d4746e581513865e89c72e3
timeCreated: 1756788895

View File

@ -0,0 +1,33 @@
using UnityEngine;
namespace DDD.Restaurant
{
public class RestaurantTrashSolver : MonoBehaviour, IInteractionSolver
{
public bool ExecuteInteraction(IInteractor interactor, IInteractable interactable, ScriptableObject payload = null)
{
var carrier = interactor?.GetInteractorGameObject()?.GetComponent<ICarrier>();
if (carrier == null)
return false;
carrier.Use();
return true;
}
public bool CanExecuteInteraction(IInteractor interactor = null, IInteractable interactable = null,
ScriptableObject payload = null)
{
// Check carrying state
var carrier = interactor?.GetInteractorGameObject()?.GetComponent<ICarrier>();
if (carrier != null)
return carrier.IsCarrying();
return false;
}
public bool CanSolveInteraction(IInteractor interactor, IInteractable interactable)
{
return true;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 36efefef94e6497889f41757921d8963
timeCreated: 1756788905

View File

@ -11,6 +11,11 @@ public override bool ExecuteInteractionSubsystem(IInteractor interactor, IIntera
public override bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, ScriptableObject payload = null)
{
// Check carrying state
var carrier = interactor?.GetInteractorGameObject()?.GetComponent<ICarrier>();
if (carrier != null)
return !carrier.IsCarrying();
return true;
}
}

View File

@ -18,7 +18,7 @@ public override bool ExecuteInteractionSubsystem(IInteractor interactor, IIntera
bool result = base.ExecuteInteractionSubsystem(interactor, interactable, payload);
// ExecuteInteractionSubsystem 이후에 음식 제거 - 미리 제거하면 CanExecute 통과 못 함
carrier.Use(carrier.GetCurrentCarriable());
carrier.Use();
// OnFoodServed (Consume Bill Hud item)
RestaurantOrderEvent evt = new RestaurantOrderEvent

View File

@ -92,9 +92,8 @@ protected override int GetDisplayLayer()
}
else
{
return LayerMask.NameToLayer(LayerConstants.WorldUi);
return base.GetDisplayLayer();
}
return base.GetDisplayLayer();
}
}
}