메모리 누수, UI 변경점 머지

This commit is contained in:
김산 2025-08-26 19:14:52 +09:00
parent 556ddcba13
commit b57cc45902
10 changed files with 152 additions and 40 deletions

View File

@ -1178,7 +1178,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
propertyPath: m_Layer
value: 0
value: 16
objectReference: {fileID: 0}
- target: {fileID: 7545136660434259176, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
propertyPath: m_Constraints
@ -1210,6 +1210,9 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
insertIndex: -1
addedObject: {fileID: 3825874317044733320}
- targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
insertIndex: -1
addedObject: {fileID: 1122074513716966771}
m_SourcePrefab: {fileID: 100100000, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
--- !u!1 &4266090516809920735 stripped
GameObject:
@ -1252,3 +1255,23 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: af69e82818254bfa9cabb2dbf9430850, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1122074513716966771
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4266090516809920735}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 201f9e6d7ca7404baa9945950292a392, type: 3}
m_Name:
m_EditorClassIdentifier:
_interactionType: 4
_executionParameters:
_holdTime: 0
_displayParameters:
_messageKey:
_interactionAvailableFlows: 2
_aiInteractionPoints: []
autoInitialize: 1

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -29,6 +29,7 @@ public class MoveToInteractionTarget : Action
public override void OnStart()
{
if (cachedTarget != null) return;
movement = gameObject.GetComponentInParent<IAiMovement>();
repathTimer = 0f;
isMoving = false;
@ -43,6 +44,7 @@ public override TaskStatus OnUpdate()
var target = GetTarget();
if (target == null)
return failIfNoTarget ? TaskStatus.Failure : TaskStatus.Success;
Debug.Log(target.name);
if (ShouldUpdateDestination())
{

View File

@ -16,49 +16,71 @@ public class WaitForPlayerInteraction : Action
public override void OnStart()
{
GameObject interactionTarget = null;
var shared = gameObject.GetComponentInChildren<IAISharedBlackboard>();
if (shared != null)
// 의자가 복합 상태를 가지게 될 경우
// GameObject interactionTarget = null;
// var shared = gameObject.GetComponentInChildren<IAISharedBlackboard>();
// if (shared != null)
// {
// interactionTarget = shared.GetCurrentInteractionTarget();
// }
// else
// {
// // 하위 호환: 고객 전용 블랙보드 지원
// var customerBb = gameObject.GetComponentInParent<IRestaurantCustomerBlackboard>();
// interactionTarget = customerBb?.GetCurrentInteractionTarget();
// }
//
// if (interactionTarget == null)
// {
// Debug.LogError($"[{GetType().Name}] interactionTarget을 찾을 수 없습니다: {gameObject.name}");
// return;
// }
//
// if (!interactionTarget.TryGetComponent<RestaurantInteractionComponent>(out var interactionComponent))
// Debug.LogError($"[{interactionTarget.name}] {nameof(interactionComponent)}를 찾을 수 없습니다: {gameObject.name}");
// if (interactionComponent is IInteractionSubsystemOwner subsystemOwner)
// {
// if (!subsystemOwner.TryGetSubsystemObject<RestaurantMealType>(out var subsystem))
// {
// Debug.LogError($"[{GetType().Name}] {nameof(_targetOrderType)}의 Subsystem을 찾을 수 없습니다: {gameObject.name}");
// _isGetInteractionSubsystem = false;
// return;
// }
//
// _isGetInteractionSubsystem = true;
// subsystem.SetInteractionSubsystemType(_targetOrderType);
//
// if (!gameObject.TryGetComponent<IInteractor>(out var interactor))
// {
// Debug.LogError($"[{GetType().Name}] IInteractor를 찾을 수 없습니다: {gameObject.name}");
// return;
// }
//
// interactor.CanInteractTo(interactionComponent);
//
// _interactionSubsystem = subsystem;
// }
if (!gameObject.TryGetComponent<RestaurantInteractionComponent>(out var interactionComponent))
{
interactionTarget = shared.GetCurrentInteractionTarget();
}
else
{
// 하위 호환: 고객 전용 블랙보드 지원
var customerBb = gameObject.GetComponentInParent<IRestaurantCustomerBlackboard>();
interactionTarget = customerBb?.GetCurrentInteractionTarget();
Debug.LogError($"[{GetType().Name}]에서 interactionComponent를 찾을 수 없습니다: {gameObject.name}");
return;
}
if (interactionTarget == null)
if (interactionComponent is not IInteractionSubsystemOwner subsystemOwner)
{
Debug.LogError($"[{GetType().Name}] interactionTarget을 찾을 수 없습니다: {gameObject.name}");
Debug.LogError($"[{GetType().Name}]에서 {nameof(IInteractionSubsystemOwner)}를 찾을 수 없습니다: {gameObject.name}");
return;
}
if (!subsystemOwner.TryGetSubsystemObject(out _interactionSubsystem))
{
Debug.LogError($"[{GetType().Name}]에서 {nameof(IInteractionSubsystemObject)}를 찾을 수 없습니다: {gameObject.name}");
return;
}
if (!interactionTarget.TryGetComponent<RestaurantInteractionComponent>(out var interactionComponent))
Debug.LogError($"[{interactionTarget.name}] {nameof(interactionComponent)}를 찾을 수 없습니다: {gameObject.name}");
if (interactionComponent is IInteractionSubsystemOwner subsystemOwner)
{
if (!subsystemOwner.TryGetSubsystemObject<RestaurantMealType>(out var subsystem))
{
Debug.LogError($"[{GetType().Name}] {nameof(_targetOrderType)}의 Subsystem을 찾을 수 없습니다: {gameObject.name}");
_isGetInteractionSubsystem = false;
return;
}
_isGetInteractionSubsystem = true;
subsystem.SetInteractionSubsystemType(_targetOrderType);
if (!gameObject.TryGetComponent<IInteractor>(out var interactor))
{
Debug.LogError($"[{GetType().Name}] IInteractor를 찾을 수 없습니다: {gameObject.name}");
return;
}
interactor.CanInteractTo(interactionComponent);
_interactionSubsystem = subsystem;
}
_interactionSubsystem.SetInteractionSubsystemType(_targetOrderType);
_isGetInteractionSubsystem = true;
}
public override TaskStatus OnUpdate()

BIN
ProjectSettings/EditorBuildSettings.asset (Stored with Git LFS)

Binary file not shown.