Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
NTG 2025-09-01 20:32:43 +09:00
commit cd9f160b2d
26 changed files with 581 additions and 186 deletions

View File

@ -150,11 +150,11 @@ MonoBehaviour:
SerializationNodes:
- Name: _materialDictionary
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[DDD.RestaurantOrderType, Assembly-CSharp],[UnityEngine.Material,
UnityEngine.CoreModule]], mscorlib
Data: 0|System.Collections.Generic.Dictionary`2[[DDD.Restaurant.RestaurantOrderType,
Assembly-CSharp],[UnityEngine.Material, UnityEngine.CoreModule]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[DDD.RestaurantOrderType,
Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[DDD.Restaurant.RestaurantOrderType,
Assembly-CSharp]], mscorlib
- Name:
Entry: 12
@ -167,7 +167,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 3
Data: 4
- Name:
Entry: 7
Data:
@ -204,6 +204,18 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 16
- Name: $v
Entry: 10
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 604ac0c800cb9b34b9cfebbc2b27cd88
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,213 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1558740908548439679
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8327749831302471016}
- component: {fileID: 8265494928291148343}
- component: {fileID: 2739769706013484733}
- component: {fileID: 5210806482330915924}
m_Layer: 0
m_Name: Spine GameObject (Trashcan)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8327749831302471016
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558740908548439679}
serializedVersion: 2
m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 6904264511603437469}
m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0}
--- !u!33 &8265494928291148343
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558740908548439679}
m_Mesh: {fileID: 0}
--- !u!23 &2739769706013484733
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558740908548439679}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 77610c722f3effb469ae2e4310b971f7, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &5210806482330915924
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558740908548439679}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3}
m_Name:
m_EditorClassIdentifier:
skeletonDataAsset: {fileID: 11400000, guid: 94825729fd8d91b4b8cb26e08c176a18, type: 2}
initialSkinName:
fixPrefabOverrideViaMeshFilter: 2
initialFlipX: 0
initialFlipY: 0
updateWhenInvisible: 3
separatorSlotNames: []
zSpacing: 0
useClipping: 1
immutableTriangles: 0
pmaVertexColors: 1
clearStateOnDisable: 0
tintBlack: 0
singleSubmesh: 0
fixDrawOrder: 0
addNormals: 0
calculateTangents: 0
maskInteraction: 0
maskMaterials:
materialsMaskDisabled: []
materialsInsideMask: []
materialsOutsideMask: []
disableRenderingOnOverride: 1
physicsPositionInheritanceFactor: {x: 1, y: 1}
physicsRotationInheritanceFactor: 1
physicsMovementRelativeTo: {fileID: 0}
updateTiming: 1
unscaledTime: 0
_animationName: RandomBoxIdle
loop: 1
timeScale: 1
--- !u!1001 &2635336900336278038
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3406375906160120237, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6689525833630355058, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9211739394093953175, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
propertyPath: m_Name
value: Prop_Trashcan
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 8881739536043914635, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
insertIndex: 0
addedObject: {fileID: 8327749831302471016}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
--- !u!4 &6904264511603437469 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8881739536043914635, guid: 15c73973805ba914cbcc9929659591d9, type: 3}
m_PrefabInstance: {fileID: 2635336900336278038}
m_PrefabAsset: {fileID: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 597b52c86547eef4f81305a1f0bc3627
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2055,6 +2055,72 @@ Transform:
m_CorrespondingSourceObject: {fileID: 6689525833630355058, guid: 88b8961b0221e5c4faab7470d64b0ae7, type: 3}
m_PrefabInstance: {fileID: 1681119343}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &300178655
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 454759171}
m_Modifications:
- target: {fileID: 6576439486311623297, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_Name
value: Prop_Trashcan
objectReference: {fileID: 0}
- target: {fileID: 8265494928291148343, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_Mesh
value:
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalPosition.x
value: -0.626
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalPosition.z
value: 16.418
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
--- !u!4 &300178656 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8667002382784386148, guid: 597b52c86547eef4f81305a1f0bc3627, type: 3}
m_PrefabInstance: {fileID: 300178655}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &303186985
PrefabInstance:
m_ObjectHideFlags: 0
@ -2186,136 +2252,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1ef128dbba722ec48bfa4bf6b9ddbdcf, type: 3}
--- !u!1 &314916195
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 314916196}
- component: {fileID: 314916199}
- component: {fileID: 314916198}
- component: {fileID: 314916197}
m_Layer: 7
m_Name: Spine GameObject (Trashcan)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &314916196
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 314916195}
serializedVersion: 2
m_LocalRotation: {x: 0.3420201, y: -0, z: -0, w: 0.9396927}
m_LocalPosition: {x: -0.59999996, y: -0.0031901114, z: 16.451588}
m_LocalScale: {x: 0.117231786, y: 0.117231786, z: 0.117231786}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 454759171}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &314916197
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 314916195}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3}
m_Name:
m_EditorClassIdentifier:
skeletonDataAsset: {fileID: 11400000, guid: 94825729fd8d91b4b8cb26e08c176a18, type: 2}
initialSkinName:
fixPrefabOverrideViaMeshFilter: 2
initialFlipX: 0
initialFlipY: 0
updateWhenInvisible: 3
separatorSlotNames: []
zSpacing: -0.0005
useClipping: 1
immutableTriangles: 0
pmaVertexColors: 1
clearStateOnDisable: 0
tintBlack: 0
singleSubmesh: 0
fixDrawOrder: 0
addNormals: 0
calculateTangents: 0
maskInteraction: 0
maskMaterials:
materialsMaskDisabled: []
materialsInsideMask: []
materialsOutsideMask: []
disableRenderingOnOverride: 1
physicsPositionInheritanceFactor: {x: 1, y: 1}
physicsRotationInheritanceFactor: 1
physicsMovementRelativeTo: {fileID: 0}
updateTiming: 1
unscaledTime: 0
_animationName: RandomBoxIdle
loop: 1
timeScale: 1
--- !u!23 &314916198
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 314916195}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 77610c722f3effb469ae2e4310b971f7, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &314916199
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 314916195}
m_Mesh: {fileID: 0}
--- !u!1001 &328733316
PrefabInstance:
m_ObjectHideFlags: 0
@ -3086,7 +3022,7 @@ Transform:
- {fileID: 1042452421}
- {fileID: 597510220}
- {fileID: 1235533209}
- {fileID: 314916196}
- {fileID: 300178656}
- {fileID: 1872552082}
- {fileID: 116540218}
- {fileID: 564055759}

BIN
Assets/_DDD/_Raw/Sprites/Ui/Common/DirtyDishStew.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 0f8005ea988d44189a84a7aeb77fd411
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 512
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -47,14 +47,25 @@ protected override void OnApplicationQuit()
ReleaseAllCached();
}
public void PreInit() { }
public void PreInit()
{
}
public async Task Init()
public async Task PreInitAsync()
{
await Addressables.InitializeAsync().Task;
}
public void PostInit() { }
public Task InitAsync()
{
return Task.CompletedTask;
}
public Task PostInitAsync()
{
return Task.CompletedTask;
}
private string GetSafeAssetName(AssetReference assetReference)
{

View File

@ -36,14 +36,19 @@ public void PreInit()
_cinemachineBrain = GetComponent<CinemachineBrain>();
}
public Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public void PostInit()
public Task InitAsync()
{
return Task.CompletedTask;
}
public Task PostInitAsync()
{
return Task.CompletedTask;
}
public void RegisterCamera(CameraGameObject cameraGameObject)

View File

@ -22,15 +22,21 @@ public void PreInit()
RegisterFlowHandler();
}
public async Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public async Task InitAsync()
{
await LoadData();
await GetGameData().LoadData();
await InitializeAllFlowControllers();
}
public void PostInit()
public Task PostInitAsync()
{
return Task.CompletedTask;
}
private void CreateGameState()

View File

@ -17,20 +17,24 @@ public class DataManager : Singleton<DataManager>, IManager
public void PreInit()
{
}
public async Task Init()
public async Task PreInitAsync()
{
await LoadAllGameDataAssets();
await LoadSpriteAtlas();
}
public void PostInit()
public Task InitAsync()
{
return Task.CompletedTask;
}
public Task PostInitAsync()
{
return Task.CompletedTask;
}
private async Task LoadAllGameDataAssets()
{
var assets = await AssetManager.Instance.LoadAssetsByLabel<ScriptableObject>(AssetLabel);

View File

@ -26,12 +26,17 @@ public void PreInit()
GameFlowDataSo.CurrentGameState = GameFlowState.None;
}
public Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public async void PostInit()
public Task InitAsync()
{
return Task.CompletedTask;
}
public async Task PostInitAsync()
{
if (IsGameStarted() == false)
{
@ -39,7 +44,7 @@ public async void PostInit()
}
}
private bool IsGameStarted() => GameFlowDataSo.CurrentGameState != GameFlowState.None;
public bool IsGameStarted() => GameFlowDataSo.CurrentGameState != GameFlowState.None;
public async Task ChangeFlow(GameFlowState newFlowState)
{

View File

@ -57,7 +57,7 @@ private async Task Initialize()
}
}
// PreInit 단계 실행
// Start 이전 초기화 보장
foreach (var managerInstance in _managerInstances)
{
if (managerInstance is IManager manager)
@ -65,22 +65,31 @@ private async Task Initialize()
manager.PreInit();
}
}
// PreInit 단계 실행 ( 데이터 준비 등 )
foreach (var managerInstance in _managerInstances)
{
if (managerInstance is IManager manager)
{
await manager.PreInitAsync();
}
}
// Init 단계 실행 (비동기)
foreach (var managerInstance in _managerInstances)
{
if (managerInstance is IManager manager)
{
await manager.Init();
await manager.InitAsync();
}
}
// PostInit 단계 실행
// PostInit 단계 실행 ( 사실상 게임 시작된 상태 )
foreach (var managerInstance in _managerInstances)
{
if (managerInstance is IManager manager)
{
manager.PostInit();
await manager.PostInitAsync();
}
}
}

View File

@ -5,7 +5,8 @@ namespace DDD
public interface IManager
{
void PreInit();
Task Init();
void PostInit();
Task PreInitAsync();
Task InitAsync();
Task PostInitAsync();
}
}

View File

@ -18,8 +18,12 @@ public class LocalizationManager : Singleton<LocalizationManager>, IManager
private const string Description = "_description";
private readonly List<object> _singleArgBuffer = new(1);
public async void PreInit()
public void PreInit()
{
}
public async Task PreInitAsync()
{
_localizedCache.Clear();
_currentLocaleCode = GetCurrentLocaleCode();
@ -55,14 +59,14 @@ public async void PreInit()
_isInitialized = true;
}
public Task Init()
public Task InitAsync()
{
return Task.CompletedTask;
}
public void PostInit()
public Task PostInitAsync()
{
return Task.CompletedTask;
}
/// <summary>

View File

@ -59,7 +59,12 @@ public void PreInit()
{
}
public async Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public async Task InitAsync()
{
Set(_smartStringKeys[SmartStringKey.Day], GetGameLevelState().Level);
Set(_smartStringKeys[SmartStringKey.ChecklistFoodCount], GetRestaurantManagementData().ChecklistFoodCount);
@ -73,10 +78,11 @@ public async Task Init()
await Task.CompletedTask;
}
public void PostInit()
public Task PostInitAsync()
{
// 도메인 단위 더티 이벤트를 구독하여 필요한 key만 갱신
EventBus.Register<SmartVariablesDirtyEvent>(this);
return Task.CompletedTask;
}
public void HandleEvent(SmartVariablesDirtyEvent evt)

View File

@ -30,14 +30,19 @@ public class SceneManager : Singleton<SceneManager>, IManager
private readonly Dictionary<GameFlowState, SceneData> _loadedSceneDatas = new();
private readonly Dictionary<string, SceneData> _assetKeyToSceneData = new();
public void PreInit()
{
_loadedSceneDatas.Clear();
_assetKeyToSceneData.Clear();
}
public async Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public async Task InitAsync()
{
var activeScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene();
#if UNITY_EDITOR
@ -64,9 +69,9 @@ public async Task Init()
await PreloadAll();
}
public void PostInit()
public Task PostInitAsync()
{
return Task.CompletedTask;
}
public async Task PreloadAll()

View File

@ -11,21 +11,26 @@ public class TimeManager : Singleton<TimeManager>, IManager, IEventHandler<TimeS
public float CurrentTimeScale { get; private set; } = 1f;
private float _baseFixedDeltaTime;
public void PreInit()
{
_baseFixedDeltaTime = Time.fixedDeltaTime;
EventBus.Register(this);
}
public Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public void PostInit()
public Task InitAsync()
{
return Task.CompletedTask;
}
public Task PostInitAsync()
{
return Task.CompletedTask;
}
private void OnDestroy()

View File

@ -30,20 +30,25 @@ public class InventoryManager : Singleton<InventoryManager>, IManager
[SerializeField]
private InventoryTestDataSo _inventoryTestDataSo;
#endif
public void PreInit()
{
}
public Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public void PostInit()
public Task InitAsync()
{
return Task.CompletedTask;
}
public Task PostInitAsync()
{
InitializeItemData();
return Task.CompletedTask;
}
private void InitializeItemData()

View File

@ -29,7 +29,12 @@ public void PreInit()
GameFlowManager.Instance.FlowHandlers.Add(this);
}
public Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public Task InitAsync()
{
var flowToUiMapping = UiData.FlowToUiMapping;
foreach (var flowToUis in flowToUiMapping)
@ -48,9 +53,9 @@ public Task Init()
return Task.CompletedTask;
}
public void PostInit()
public Task PostInitAsync()
{
return Task.CompletedTask;
}
public Task OnReadyNewFlow(GameFlowState newFlowState)

View File

@ -51,11 +51,10 @@ public class InputManager : Singleton<InputManager>, IManager
public InputActionMaps CurrentInputActionMap { get; private set; }
private readonly Dictionary<(InputActionMaps, string), InputAction> _cachedActions = new();
public void PreInit()
{
_currentPlayerInput = GetComponent<PlayerInput>();
_cachedActions.Clear();
foreach (var actionMap in _currentPlayerInput.actions.actionMaps)
{
@ -68,14 +67,19 @@ public void PreInit()
}
}
public Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public void PostInit()
public Task InitAsync()
{
return Task.CompletedTask;
}
public Task PostInitAsync()
{
return Task.CompletedTask;
}
private bool IsNullCurrentPlayerInput()

View File

@ -31,20 +31,27 @@ public void PreInit()
RegisterFlowHandler();
}
public async Task Init()
public Task PreInitAsync()
{
return Task.CompletedTask;
}
public async Task InitAsync()
{
await LoadData();
await GetRestaurantData().LoadData();
await InitializeAllFlowControllers();
}
public void PostInit()
public Task PostInitAsync()
{
var allInteractables = GetRestaurantState().EnvironmentState.GetAllInteractables();
foreach (var interactable in allInteractables)
{
}
return Task.CompletedTask;
}
private void CreateRestaurantState()

View File

@ -136,6 +136,8 @@ private void ApplyHighlightSettings(HighlightEffect highlightComponent)
private void Update()
{
FetchPlayerInteractorComponent();
if(_interactor == null)
return;
var currentType = GetCurrentOutlineType();
_currentOutlineType = currentType; // 디버그용

View File

@ -17,7 +17,9 @@ public abstract class PropUiDisplayComponent<T> : SerializedMonoBehaviour where
protected IInteractable _interactable;
protected SpriteRenderer _spriteRenderer;
protected Transform _spriteTransform;
private void Awake()
private bool _isInitialized = false;
private void Start()
{
Initialize();
}
@ -44,6 +46,8 @@ protected virtual void Initialize()
UpdateSpriteTransform();
_internalMaterials = GetInteractionDisplayMaterials();
_isInitialized = true;
}
private void UpdateSprite()
@ -86,6 +90,11 @@ protected virtual Vector3 GetDisplayRotation()
private void Update()
{
if (!_isInitialized || !GameFlowManager.Instance.IsGameStarted())
{
return;
}
T interactionType = _interactionSubsystemObject.GetInteractionSubsystemType();
if (EqualityComparer<T>.Default.Equals(_currentInteractionType, interactionType)) return;
SetCurrentInteractionType(interactionType);

View File

@ -52,6 +52,11 @@ protected override Sprite GetDisplaySprite()
return sprite;
}
}
else if (GetCurrentInteractionType() == RestaurantOrderType.Dirty)
{
var sprite = DataManager.Instance.GetSprite(SpriteConstants.DirtyDish);
return sprite;
}
return base.GetDisplaySprite();
}

View File

@ -43,6 +43,7 @@ public static class SpriteConstants
public const string EmptyDrinkSpriteKey = "EmptyDrink";
public const string EmptyFoodSpriteKey = "EmptyFood";
public const string EmptyWorker = "EmptyWorker";
public const string DirtyDish = "DirtyDishStew";
}
public static class LayerConstants