메모리 누수, 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} objectReference: {fileID: 0}
- target: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} - target: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
propertyPath: m_Layer propertyPath: m_Layer
value: 0 value: 16
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7545136660434259176, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} - target: {fileID: 7545136660434259176, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
propertyPath: m_Constraints propertyPath: m_Constraints
@ -1210,6 +1210,9 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} - targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 3825874317044733320} addedObject: {fileID: 3825874317044733320}
- targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
insertIndex: -1
addedObject: {fileID: 1122074513716966771}
m_SourcePrefab: {fileID: 100100000, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} m_SourcePrefab: {fileID: 100100000, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
--- !u!1 &4266090516809920735 stripped --- !u!1 &4266090516809920735 stripped
GameObject: GameObject:
@ -1252,3 +1255,23 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: af69e82818254bfa9cabb2dbf9430850, type: 3} m_Script: {fileID: 11500000, guid: af69e82818254bfa9cabb2dbf9430850, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: 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 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 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: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 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: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 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: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 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: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 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: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []

View File

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

View File

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

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

Binary file not shown.