This commit is contained in:
SweetJJuya 2024-09-12 13:25:57 +09:00
commit c5b90896a4
47 changed files with 1694 additions and 805 deletions

File diff suppressed because it is too large Load Diff

View File

@ -752,62 +752,22 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 104504150} m_GameObject: {fileID: 104504150}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &119873273 --- !u!224 &119873274 stripped
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 119873274}
- component: {fileID: 119873275}
m_Layer: 5
m_Name: PlayerHealthPointUi
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &119873274
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 2991762615616799771}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 119873273} --- !u!114 &119873275 stripped
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 478100612}
m_Father: {fileID: 1033584370}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &119873275
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 940439430324203188, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 2991762615616799771}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 119873273} m_GameObject: {fileID: 0}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95a0ff880fd9f5942880892d403f67be, type: 3} m_Script: {fileID: 11500000, guid: 95a0ff880fd9f5942880892d403f67be, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_healthPointLayout: {fileID: 478100612}
_healthPointPrefab: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
_maxHeartCount: 2
_healthPointImageList: []
_fullHeart: {fileID: 21300000, guid: 4e2159443b5aedf43849ec062f4f8016, type: 3}
_halfHeart: {fileID: 21300000, guid: 8de91ee4e8525bb46bb309c15c5207d3, type: 3}
_emptyHeart: {fileID: 21300000, guid: b519b8a1ceacfad4c834eb059d4004a7, type: 3}
--- !u!1 &162376353 --- !u!1 &162376353
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3087,71 +3047,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 473280139} m_GameObject: {fileID: 473280139}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &478100611
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 478100612}
- component: {fileID: 478100613}
m_Layer: 5
m_Name: HealthPointLayout
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &478100612
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 478100611}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 790974532}
- {fileID: 1511319439}
- {fileID: 1096489939}
m_Father: {fileID: 119873274}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 170, y: -130}
m_SizeDelta: {x: 60, y: 60}
m_Pivot: {x: 0, y: 0}
--- !u!114 &478100613
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 478100611}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 10
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &481231814 --- !u!1 &481231814
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4837,11 +4732,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 736767085} m_GameObject: {fileID: 736767085}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!224 &790974532 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
m_PrefabInstance: {fileID: 721538019690271624}
m_PrefabAsset: {fileID: 0}
--- !u!1 &793017943 --- !u!1 &793017943
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -6543,112 +6433,6 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 4019578663844880581, guid: ccb8b4cf4e054704a8bfa9e1334764a7, type: 3} m_CorrespondingSourceObject: {fileID: 4019578663844880581, guid: ccb8b4cf4e054704a8bfa9e1334764a7, type: 3}
m_PrefabInstance: {fileID: 7155618029629697249} m_PrefabInstance: {fileID: 7155618029629697249}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1001 &1096489938
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 478100612}
m_Modifications:
- target: {fileID: 1582184245155240560, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: b519b8a1ceacfad4c834eb059d4004a7, type: 3}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.x
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.y
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Name
value: HealthPoint (3)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
--- !u!224 &1096489939 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
m_PrefabInstance: {fileID: 1096489938}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1111610237 --- !u!1 &1111610237
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -10712,112 +10496,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1484753224} m_GameObject: {fileID: 1484753224}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1001 &1511319438
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 478100612}
m_Modifications:
- target: {fileID: 1582184245155240560, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 8de91ee4e8525bb46bb309c15c5207d3, type: 3}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.x
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.y
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Name
value: HealthPoint (2)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
--- !u!224 &1511319439 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
m_PrefabInstance: {fileID: 1511319438}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1512206133 --- !u!1 &1512206133
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -15427,103 +15105,6 @@ GameObject:
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 1
--- !u!1001 &721538019690271624
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 478100612}
m_Modifications:
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.x
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.y
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Name
value: HealthPoint (1)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
--- !u!224 &724108661525278474 --- !u!224 &724108661525278474
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -17533,6 +17114,103 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!1001 &2991762615616799771
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1033584370}
m_Modifications:
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 879980064875257461, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9026075075559676996, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
propertyPath: m_Name
value: PlayerHealthPointUi
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4b432bbf05a7bc74bb0dd15b5afd23d1, type: 3}
--- !u!222 &3020655370704658913 --- !u!222 &3020655370704658913
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -14,7 +14,7 @@ namespace BlueWater.BehaviorTrees.Actions
{ {
private Customer _customer; private Customer _customer;
private CustomerData _customerData; private CustomerData _customerData;
private FoodBalloonUi _foodBalloonUi; private BalloonUi _balloonUi;
public override void OnAwake() public override void OnAwake()
{ {
@ -24,9 +24,9 @@ namespace BlueWater.BehaviorTrees.Actions
public override void OnStart() public override void OnStart()
{ {
_foodBalloonUi = _customer.FoodBalloonUi; _balloonUi = _customer.BalloonUi;
// TODO : 음료가 다양해질 때 수정해야함 // TODO : 음료가 다양해질 때 수정해야함
_foodBalloonUi.OrderFood("40001", _customerData.WaitTime, _customerData.HurryTime); _balloonUi.OrderItem("40001", _customerData.WaitTime, _customerData.HurryTime);
_customer.OnInteraction += HandleBeverageInteraction; _customer.OnInteraction += HandleBeverageInteraction;
_customer.RegisterPlayerInteraction(); _customer.RegisterPlayerInteraction();
@ -35,21 +35,21 @@ namespace BlueWater.BehaviorTrees.Actions
public override TaskStatus OnUpdate() public override TaskStatus OnUpdate()
{ {
if (_foodBalloonUi.IsFoodReceive()) if (_balloonUi.IsFoodReceive())
{ {
_customer.OnInteraction -= HandleBeverageInteraction; _customer.OnInteraction -= HandleBeverageInteraction;
_customer.UnregisterPlayerInteraction(); _customer.UnregisterPlayerInteraction();
return TaskStatus.Success; return TaskStatus.Success;
} }
if (_foodBalloonUi.IsWaitTimeOver()) if (_balloonUi.IsWaitTimeOver())
{ {
_customer.OnInteraction -= HandleBeverageInteraction; _customer.OnInteraction -= HandleBeverageInteraction;
_customer.UnregisterPlayerInteraction(); _customer.UnregisterPlayerInteraction();
_customer.AddHappyPoint(-3); _customer.AddHappyPoint(-3);
if (_customer.HappyPoint <= 0) if (_customer.HappyPoint <= 0)
{ {
_foodBalloonUi.CancelOrder(); _balloonUi.CancelOrder();
var barkName = _customer.HappyPoint switch var barkName = _customer.HappyPoint switch
{ {
>= 3 => "SatisfactoryEvaluation", >= 3 => "SatisfactoryEvaluation",
@ -79,9 +79,10 @@ namespace BlueWater.BehaviorTrees.Actions
if (carriedBeverageData.Idx == "40001") if (carriedBeverageData.Idx == "40001")
{ {
tycoonPlayer.GiveItem(); tycoonPlayer.GiveItem();
_foodBalloonUi.ReceiveFood(); _balloonUi.ReceiveFood();
_customer.SetFood(carriedBeverageData); var itemData = ItemManager.Instance.GetItemDataByIdx(carriedBeverageData.Idx);
if (carriedBeverageData.Quality == ItemQuality.High) _customer.SetFood(itemData);
if (itemData.Quality == ItemQuality.High)
{ {
_customer.AddHappyPoint(1); _customer.AddHappyPoint(1);
} }

View File

@ -15,7 +15,7 @@ namespace BlueWater.BehaviorTrees.Actions
{ {
private Customer _customer; private Customer _customer;
private CustomerData _customerData; private CustomerData _customerData;
private FoodBalloonUi _foodBalloonUi; private BalloonUi _balloonUi;
private string _orderFoodIdx; private string _orderFoodIdx;
public override void OnAwake() public override void OnAwake()
@ -28,8 +28,8 @@ namespace BlueWater.BehaviorTrees.Actions
{ {
SetPreferredFoods(); SetPreferredFoods();
_foodBalloonUi = _customer.FoodBalloonUi; _balloonUi = _customer.BalloonUi;
_foodBalloonUi.OrderFood(_orderFoodIdx, _customerData.WaitTime, _customerData.HurryTime); _balloonUi.OrderItem(_orderFoodIdx, _customerData.WaitTime, _customerData.HurryTime);
_customer.OnInteraction += HandleFoodInteraction; _customer.OnInteraction += HandleFoodInteraction;
_customer.RegisterPlayerInteraction(); _customer.RegisterPlayerInteraction();
_customer.Bark("OrderFood", BarkOrder.FirstValid); _customer.Bark("OrderFood", BarkOrder.FirstValid);
@ -37,21 +37,21 @@ namespace BlueWater.BehaviorTrees.Actions
public override TaskStatus OnUpdate() public override TaskStatus OnUpdate()
{ {
if (_foodBalloonUi.IsFoodReceive()) if (_balloonUi.IsFoodReceive())
{ {
_customer.OnInteraction -= HandleFoodInteraction; _customer.OnInteraction -= HandleFoodInteraction;
_customer.UnregisterPlayerInteraction(); _customer.UnregisterPlayerInteraction();
return TaskStatus.Success; return TaskStatus.Success;
} }
if (_foodBalloonUi.IsWaitTimeOver()) if (_balloonUi.IsWaitTimeOver())
{ {
_customer.OnInteraction -= HandleFoodInteraction; _customer.OnInteraction -= HandleFoodInteraction;
_customer.UnregisterPlayerInteraction(); _customer.UnregisterPlayerInteraction();
_customer.AddHappyPoint(-3); _customer.AddHappyPoint(-3);
if (_customer.HappyPoint <= 0) if (_customer.HappyPoint <= 0)
{ {
_foodBalloonUi.CancelOrder(); _balloonUi.CancelOrder();
var barkName = _customer.HappyPoint switch var barkName = _customer.HappyPoint switch
{ {
>= 3 => "SatisfactoryEvaluation", >= 3 => "SatisfactoryEvaluation",
@ -80,9 +80,10 @@ namespace BlueWater.BehaviorTrees.Actions
if (carriedFoodData.Idx == _orderFoodIdx) if (carriedFoodData.Idx == _orderFoodIdx)
{ {
tycoonPlayer.GiveItem(); tycoonPlayer.GiveItem();
_foodBalloonUi.ReceiveFood(); _balloonUi.ReceiveFood();
_customer.SetFood(carriedFoodData); var itemData = ItemManager.Instance.GetItemDataByIdx(carriedFoodData.Idx);
if (carriedFoodData.Quality == ItemQuality.High) _customer.SetFood(itemData);
if (itemData.Quality == ItemQuality.High)
{ {
_customer.AddHappyPoint(1); _customer.AddHappyPoint(1);
} }

View File

@ -12,7 +12,7 @@ namespace BlueWater.BehaviorTrees.Actions
{ {
private Customer _customer; private Customer _customer;
private CustomerData _customerData; private CustomerData _customerData;
private FoodBalloonUi _foodBalloonUi; private BalloonUi _balloonUi;
private int _goldIdx; private int _goldIdx;
private bool _isPaidMoney; private bool _isPaidMoney;
@ -24,8 +24,8 @@ namespace BlueWater.BehaviorTrees.Actions
public override void OnStart() public override void OnStart()
{ {
_foodBalloonUi = _customer.FoodBalloonUi; _balloonUi = _customer.BalloonUi;
_foodBalloonUi.PayMoney(_customerData.WaitTime, _customerData.HurryTime); _balloonUi.PayMoney(_customerData.WaitTime, _customerData.HurryTime);
_customer.OnInteraction += HandlePayMoneyInteraction; _customer.OnInteraction += HandlePayMoneyInteraction;
_customer.RegisterPlayerInteraction(); _customer.RegisterPlayerInteraction();
} }
@ -37,12 +37,12 @@ namespace BlueWater.BehaviorTrees.Actions
return TaskStatus.Success; return TaskStatus.Success;
} }
if (_foodBalloonUi.IsWaitTimeOver()) if (_balloonUi.IsWaitTimeOver())
{ {
_customer.OnInteraction -= HandlePayMoneyInteraction; _customer.OnInteraction -= HandlePayMoneyInteraction;
_customer.UnregisterPlayerInteraction(); _customer.UnregisterPlayerInteraction();
_foodBalloonUi.CancelOrder(); _balloonUi.CancelOrder();
_foodBalloonUi.HideUi(); _balloonUi.HideUi();
// _customer.AddHappyPoint(-3); // _customer.AddHappyPoint(-3);
// if (_customer.HappyPoint <= 0) // if (_customer.HappyPoint <= 0)
// { // {
@ -85,11 +85,11 @@ namespace BlueWater.BehaviorTrees.Actions
var paidAmount = foodPrice + tipAmount; var paidAmount = foodPrice + tipAmount;
tycoonPlayer.GetMoney(paidAmount); tycoonPlayer.GetMoney(paidAmount);
_customer.PayMoney(foodPrice, tipAmount); _customer.PayMoney(foodPrice, tipAmount);
_foodBalloonUi.HideUi(); _balloonUi.HideUi();
_customer.OnInteraction -= HandlePayMoneyInteraction; _customer.OnInteraction -= HandlePayMoneyInteraction;
_customer.Bark(barkName, BarkOrder.FirstValid); _customer.Bark(barkName, BarkOrder.FirstValid);
_customer.UnregisterPlayerInteraction(); _customer.UnregisterPlayerInteraction();
_foodBalloonUi.CancelOrder(); _balloonUi.CancelOrder();
_isPaidMoney = true; _isPaidMoney = true;
} }

View File

@ -60,7 +60,7 @@ namespace BlueWater.Npcs.Customers
public Transform InteractionUi { get; private set; } public Transform InteractionUi { get; private set; }
[field: SerializeField] [field: SerializeField]
public FoodBalloonUi FoodBalloonUi { get; private set; } public BalloonUi BalloonUi { get; private set; }
[field: SerializeField] [field: SerializeField]
public PayMoneyUi PayMoneyUi { get; private set; } public PayMoneyUi PayMoneyUi { get; private set; }
@ -181,7 +181,7 @@ namespace BlueWater.Npcs.Customers
//InteractionCanvas.worldCamera = TycoonCameraManager.Instance.UiCamera; //InteractionCanvas.worldCamera = TycoonCameraManager.Instance.UiCamera;
InteractionUi = InteractionCanvas.transform.Find("InteractionUi"); InteractionUi = InteractionCanvas.transform.Find("InteractionUi");
InteractionUi.localScale = Vector3.one * (1 / transform.localScale.x); InteractionUi.localScale = Vector3.one * (1 / transform.localScale.x);
FoodBalloonUi = InteractionCanvas.transform.Find("FoodBalloonUi").GetComponent<FoodBalloonUi>(); BalloonUi = InteractionCanvas.transform.Find("FoodBalloonUi").GetComponent<BalloonUi>();
PayMoneyUi = InteractionCanvas.transform.Find("PayMoneyUi").GetComponent<PayMoneyUi>(); PayMoneyUi = InteractionCanvas.transform.Find("PayMoneyUi").GetComponent<PayMoneyUi>();
SpineController = GetComponent<SpineController>(); SpineController = GetComponent<SpineController>();
@ -231,7 +231,7 @@ namespace BlueWater.Npcs.Customers
public void SetTableSeat(TableSeat tableSeat) public void SetTableSeat(TableSeat tableSeat)
{ {
TableSeat = tableSeat; TableSeat = tableSeat;
FoodBalloonUi.Initialize(TableSeat); BalloonUi.Initialize(TableSeat);
} }
public void SetCurrentDirection(Vector3 normalDirection) => CurrentDirection = normalDirection; public void SetCurrentDirection(Vector3 normalDirection) => CurrentDirection = normalDirection;

View File

@ -51,9 +51,9 @@ namespace BlueWater.Players
private void Start() private void Start()
{ {
if (CombatUiManager.Instance) _playerHealthPointUi = FindAnyObjectByType<PlayerHealthPointUi>();
if (_playerHealthPointUi)
{ {
_playerHealthPointUi = CombatUiManager.Instance.PlayerHealthPointUi;
OnHealthChanged += _playerHealthPointUi.SetCurrentHealthPoint; OnHealthChanged += _playerHealthPointUi.SetCurrentHealthPoint;
} }

View File

@ -1,94 +0,0 @@
using BlueWater.Items;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater.Players.Tycoons
{
public class TycoonCarryHandler : MonoBehaviour
{
[SerializeField]
private SpriteRenderer _itemRenderer;
[SerializeField]
private bool _isCarriedItem;
private ItemData _currentItemData;
private ItemManager _itemManager;
private void Awake()
{
InitializeComponents();
}
private void Start()
{
_itemManager = ItemManager.Instance;
}
[Button("컴포넌트 초기화")]
private void InitializeComponents()
{
_itemRenderer = transform.Find("VisualLook/Item").GetComponent<SpriteRenderer>();
}
public void CarryItem(string itemIdx, bool isUsingSprite = true, ItemQuality itemQuality = ItemQuality.Normal)
{
if (_isCarriedItem)
{
Debug.Log("이미 아이템을 들고 있습니다.");
return;
}
_currentItemData = new ItemData(_itemManager.GetItemDataByIdx(itemIdx))
{
Quality = itemQuality
};
if (_currentItemData == null)
{
Debug.LogError($"{itemIdx} 해당 아이템을 등록할 수 없습니다.");
return;
}
if (isUsingSprite)
{
var itemSprite = _currentItemData.Sprite;
if (!itemSprite)
{
Debug.LogWarning($"{itemSprite} 해당 아이템의 이미지가 없습니다.");
}
_itemRenderer.sprite = itemSprite;
}
_isCarriedItem = true;
}
public void GiveItem()
{
if (!_isCarriedItem || _currentItemData == null)
{
Debug.Log("들고있는 아이템이 없거나, 현재 아이템 데이터가 비어있습니다.");
return;
}
_currentItemData = null;
_itemRenderer.sprite = null;
_isCarriedItem = false;
}
public void DiscardItem()
{
if (!_isCarriedItem || _currentItemData == null)
{
Debug.Log("들고있는 아이템이 없거나, 현재 아이템 데이터가 비어있습니다.");
return;
}
_currentItemData = null;
_itemRenderer.sprite = null;
_isCarriedItem = false;
}
public ItemData GetCurrentItemData() => _currentItemData;
public bool IsCarriedItem() => _isCarriedItem;
}
}

View File

@ -12,7 +12,7 @@ namespace BlueWater.Players.Tycoons
public Rigidbody Rigidbody { get; private set; } public Rigidbody Rigidbody { get; private set; }
private Transform _visualLook; private Transform _visualLook;
private SpineController _spineController; private SpineController _spineController;
private TycoonCarryHandler _tycoonCarryHandler; private TycoonPickupHandler _tycoonPickupHandler;
// Move // Move
[field: SerializeField, Range(1f, 20f), Tooltip("이동 속도")] [field: SerializeField, Range(1f, 20f), Tooltip("이동 속도")]
@ -33,11 +33,11 @@ namespace BlueWater.Players.Tycoons
string animationName; string animationName;
if (_isMoving) if (_isMoving)
{ {
animationName = _tycoonCarryHandler.IsCarriedItem() ? TycoonPlayerSpineAnimation.ServingSide : TycoonPlayerSpineAnimation.RunSide; animationName = _tycoonPickupHandler.IsPickedUpItem() ? TycoonPlayerSpineAnimation.ServingSide : TycoonPlayerSpineAnimation.RunSide;
} }
else else
{ {
animationName = _tycoonCarryHandler.IsCarriedItem() ? TycoonPlayerSpineAnimation.IdleServingUpside : TycoonPlayerSpineAnimation.IdleSide; animationName = _tycoonPickupHandler.IsPickedUpItem() ? TycoonPlayerSpineAnimation.IdleServingUpside : TycoonPlayerSpineAnimation.IdleSide;
} }
if (animationName == previousAnimationName) return; if (animationName == previousAnimationName) return;
@ -76,7 +76,7 @@ namespace BlueWater.Players.Tycoons
private void Awake() private void Awake()
{ {
_spineController = GetComponent<SpineController>(); _spineController = GetComponent<SpineController>();
_tycoonCarryHandler = GetComponent<TycoonCarryHandler>(); _tycoonPickupHandler = GetComponent<TycoonPickupHandler>();
} }
private void Update() private void Update()

View File

@ -0,0 +1,83 @@
using BlueWater.Interfaces;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater.Players.Tycoons
{
public class TycoonPickupHandler : MonoBehaviour
{
[SerializeField]
private SpriteRenderer _itemRenderer;
[SerializeField]
private bool _isPickedUpItem;
private IPickup _currentPickupItem;
private void Awake()
{
InitializeComponents();
}
private void Start()
{
TycoonEvents.OnCocktailCompleted += PickupItem;
TycoonEvents.OnCocktailDiscarded += DiscardItem;
}
private void OnDestroy()
{
TycoonEvents.OnCocktailCompleted -= PickupItem;
TycoonEvents.OnCocktailDiscarded -= DiscardItem;
}
[Button("컴포넌트 초기화")]
private void InitializeComponents()
{
_itemRenderer = transform.Find("VisualLook/Item").GetComponent<SpriteRenderer>();
}
public void PickupItem(IPickup item)
{
if (_isPickedUpItem)
{
Debug.Log("이미 아이템을 들고 있습니다.");
return;
}
_currentPickupItem = item;
_itemRenderer.enabled = false;
//_itemRenderer.sprite = item.Sprite;
_isPickedUpItem = true;
}
public void GiveItem()
{
if (!_isPickedUpItem || _currentPickupItem == null)
{
Debug.Log("들고있는 아이템이 없거나, 현재 아이템 데이터가 비어있습니다.");
return;
}
_currentPickupItem = null;
_itemRenderer.sprite = null;
_isPickedUpItem = false;
}
public void DiscardItem()
{
if (!_isPickedUpItem || _currentPickupItem == null)
{
Debug.Log("들고있는 아이템이 없거나, 현재 아이템 데이터가 비어있습니다.");
return;
}
_currentPickupItem = null;
_itemRenderer.sprite = null;
_isPickedUpItem = false;
}
public IPickup GetCurrentPickupItem() => _currentPickupItem;
public bool IsPickedUpItem() => _isPickedUpItem;
}
}

View File

@ -1,3 +1,4 @@
using BlueWater.Interfaces;
using BlueWater.Items; using BlueWater.Items;
using BlueWater.Uis; using BlueWater.Uis;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
@ -42,7 +43,7 @@ namespace BlueWater.Players.Tycoons
public SkeletonAnimation SkeletonAnimation { get; private set; } public SkeletonAnimation SkeletonAnimation { get; private set; }
[field: SerializeField] [field: SerializeField]
public FoodBalloonUi FoodBalloonUi { get; private set; } public BalloonUi BalloonUi { get; private set; }
[field: SerializeField] [field: SerializeField]
public TycoonInput TycoonInput { get; private set; } public TycoonInput TycoonInput { get; private set; }
@ -51,7 +52,7 @@ namespace BlueWater.Players.Tycoons
public TycoonMovement TycoonMovement { get; private set; } public TycoonMovement TycoonMovement { get; private set; }
[field: SerializeField] [field: SerializeField]
public TycoonCarryHandler TycoonCarryHandler { get; private set; } public TycoonPickupHandler TycoonPickupHandler { get; private set; }
#endregion #endregion
@ -92,11 +93,11 @@ namespace BlueWater.Players.Tycoons
PlayerInput = GetComponent<PlayerInput>(); PlayerInput = GetComponent<PlayerInput>();
VisualLook = transform.Find("VisualLook"); VisualLook = transform.Find("VisualLook");
SkeletonAnimation = VisualLook.GetComponent<SkeletonAnimation>(); SkeletonAnimation = VisualLook.GetComponent<SkeletonAnimation>();
FoodBalloonUi = transform.Find("Canvas/FoodBalloonUi").GetComponent<FoodBalloonUi>(); BalloonUi = transform.Find("Canvas/BalloonUi").GetComponent<BalloonUi>();
TycoonInput = GetComponent<TycoonInput>(); TycoonInput = GetComponent<TycoonInput>();
TycoonMovement = GetComponent<TycoonMovement>(); TycoonMovement = GetComponent<TycoonMovement>();
TycoonCarryHandler = GetComponent<TycoonCarryHandler>(); TycoonPickupHandler = GetComponent<TycoonPickupHandler>();
} }
private void InitializeChileComponents() private void InitializeChileComponents()
@ -123,32 +124,32 @@ namespace BlueWater.Players.Tycoons
// Wrapping // Wrapping
public void GetMoney(int money) => DataManager.Instance.GetMoney(money); public void GetMoney(int money) => DataManager.Instance.GetMoney(money);
public bool IsCarriedItem() => TycoonCarryHandler.IsCarriedItem(); public bool IsCarriedItem() => TycoonPickupHandler.IsPickedUpItem();
public void CarryItem(string itemIdx, bool isUsingSprite = true, ItemQuality itemQuality = ItemQuality.Normal) // public void CarryItem(IPickup item)
{ // {
TycoonCarryHandler.CarryItem(itemIdx, isUsingSprite, itemQuality); // TycoonCarryHandler.CarryItem(item);
if (!isUsingSprite) // // if (!isUsingSprite)
{ // // {
FoodBalloonUi.SetFoodImage(GetCurrentItemData().Idx); // // FoodBalloonUi.SetFoodImage(GetCurrentItemData().Idx);
FoodBalloonUi.ShowUi(); // // FoodBalloonUi.ShowUi();
} // // }
} // }
public void GiveItem() public void GiveItem()
{ {
TycoonCarryHandler.GiveItem(); TycoonPickupHandler.GiveItem();
FoodBalloonUi.HideUi(); BalloonUi.HideUi();
FoodBalloonUi.SetFoodImage(null); BalloonUi.SetItemImage(null);
} }
public void DiscardItem() // public void DiscardItem()
{ // {
TycoonCarryHandler.DiscardItem(); // TycoonCarryHandler.DiscardItem();
FoodBalloonUi.HideUi(); // BalloonUi.HideUi();
FoodBalloonUi.SetFoodImage(null); // BalloonUi.SetItemImage(null);
} // }
public ItemData GetCurrentItemData() => TycoonCarryHandler.GetCurrentItemData(); public IPickup GetCurrentItemData() => TycoonPickupHandler.GetCurrentPickupItem();
#endregion #endregion
} }

View File

@ -0,0 +1,7 @@
namespace BlueWater.Interfaces
{
public interface IPickup : IIdx, ISprite
{
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 93cc9ac7df9bd614d95805d0fdfcb2b6
timeCreated: 1716899052

View File

@ -0,0 +1,9 @@
using UnityEngine;
namespace BlueWater.Interfaces
{
public interface ISprite
{
Sprite Sprite { get; }
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 66904096aaaca614d88d13a6a40d42b5
timeCreated: 1716899052

View File

@ -7,7 +7,7 @@ using UnityEngine;
namespace BlueWater.Items namespace BlueWater.Items
{ {
[Serializable] [Serializable]
public class CocktailData : IIdx public class CocktailData : IPickup
{ {
[BoxGroup("Json 데이터 영역")] [BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")] [field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")]

View File

@ -35,7 +35,7 @@ namespace BlueWater.Items
} }
[Serializable] [Serializable]
public class ItemData : IIdx public class ItemData : IPickup
{ {
[BoxGroup("Json 데이터 영역")] [BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")] [field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")]

View File

@ -1,3 +1,4 @@
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using BlueWater.Items; using BlueWater.Items;
@ -7,7 +8,7 @@ using Sirenix.OdinInspector;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Pool; using UnityEngine.Pool;
using UnityEngine.Serialization; using UnityEngine.UI;
namespace BlueWater namespace BlueWater
{ {
@ -18,6 +19,9 @@ namespace BlueWater
[Title("컴포넌트")] [Title("컴포넌트")]
[SerializeField] [SerializeField]
private GameObject _liquidPanel; private GameObject _liquidPanel;
[SerializeField]
private GameObject _shaker;
[SerializeField] [SerializeField]
private Renderer _renderTexture; private Renderer _renderTexture;
@ -30,6 +34,12 @@ namespace BlueWater
[SerializeField] [SerializeField]
private TMP_Text _amountText; private TMP_Text _amountText;
[SerializeField]
private Image _completeCocktailImage;
[SerializeField]
private TMP_Text _completeText;
[Title("스폰 데이터")] [Title("스폰 데이터")]
[SerializeField, Required] [SerializeField, Required]
@ -74,11 +84,12 @@ namespace BlueWater
private IObjectPool<Liquid> _objectPool; private IObjectPool<Liquid> _objectPool;
private List<Liquid> _activeLiquids = new(); private List<Liquid> _activeLiquids = new();
private Dictionary<LiquidData, int> _liquidDataCounts = new(); private Dictionary<LiquidData, int> _liquidDataCounts = new(7);
private Material _instanceMaterial; private Material _instanceMaterial;
private Tween _showTween; private Tween _showTween;
private Tween _hideTween; private Tween _hideTween;
private bool _isShowingPanel;
private bool _isPouring; private bool _isPouring;
private float _startTime = float.PositiveInfinity; private float _startTime = float.PositiveInfinity;
private int _instanceLiquidCount; private int _instanceLiquidCount;
@ -102,10 +113,10 @@ namespace BlueWater
{ {
_objectPool = new ObjectPool<Liquid>(CreateObject, OnGetObject, OnReleaseObject, OnDestroyObject, maxSize: _objectPoolCount); _objectPool = new ObjectPool<Liquid>(CreateObject, OnGetObject, OnReleaseObject, OnDestroyObject, maxSize: _objectPoolCount);
_hideTween = _liquidPanel.transform.DOMoveX(-150f, _moveDuration).From(-249f).Pause() _hideTween = _liquidPanel.transform.DOMoveX(-150f, _moveDuration).Pause()
.SetAutoKill(false); .SetAutoKill(false);
_showTween = _liquidPanel.transform.DOMoveX(-249f, _moveDuration).From(-150f).Pause() _showTween = _liquidPanel.transform.DOMoveX(-249f, _moveDuration).Pause()
.SetAutoKill(false); .SetAutoKill(false);
} }
@ -119,6 +130,10 @@ namespace BlueWater
_instanceMaterial.SetFloat(_liquidAmountHash, 0f); _instanceMaterial.SetFloat(_liquidAmountHash, 0f);
_timeInterval = 1f / _liquidsPerSecond; _timeInterval = 1f / _liquidsPerSecond;
_shaker.SetActive(true);
_amountText.enabled = true;
_completeCocktailImage.enabled = false;
_completeText.enabled = false;
_instanceLiquidCount = 0; _instanceLiquidCount = 0;
SetCurrentAmount(0f); SetCurrentAmount(0f);
} }
@ -137,7 +152,7 @@ namespace BlueWater
// 술이 완성되었을 때 // 술이 완성되었을 때
if (_instanceLiquidCount >= _maxLiquidCount) if (_instanceLiquidCount >= _maxLiquidCount)
{ {
CompleteLiquid(); StartCoroutine(nameof(CompleteCocktail));
return; return;
} }
@ -242,6 +257,10 @@ namespace BlueWater
{ {
if (_instanceLiquidCount == 0) if (_instanceLiquidCount == 0)
{ {
_shaker.SetActive(true);
_amountText.enabled = true;
_completeCocktailImage.enabled = false;
_completeText.enabled = false;
_currentMixedColor = _currentBarrel.GetLiquidData().Color; _currentMixedColor = _currentBarrel.GetLiquidData().Color;
_instanceMaterial.SetColor(_liquidColorHash, _currentMixedColor * _colorIntensity); _instanceMaterial.SetColor(_liquidColorHash, _currentMixedColor * _colorIntensity);
} }
@ -276,11 +295,13 @@ namespace BlueWater
/// <summary> /// <summary>
/// 술을 완성한 경우 /// 술을 완성한 경우
/// </summary> /// </summary>
private void CompleteLiquid() private IEnumerator CompleteCocktail()
{ {
InActiveIsPouring(); InActiveIsPouring();
// TODO : 완성된 음료를 데이터베이스와 비교하기
var currentCocktailIngredients = new List<CocktailIngredient>(5); yield return new WaitUntil(() => _currentLiquidAmount >= _maxLiquidCount);
var currentCocktailIngredients = new List<CocktailIngredient>(7);
foreach (var element in _liquidDataCounts) foreach (var element in _liquidDataCounts)
{ {
var idx = element.Key.Idx; var idx = element.Key.Idx;
@ -342,12 +363,26 @@ namespace BlueWater
if (matchingCocktail == null) if (matchingCocktail == null)
{ {
matchingCocktail = ItemManager.Instance.GetCocktailDataByIdx("Cocktail000"); matchingCocktail = ItemManager.Instance.GetCocktailDataByIdx("Cocktail000");
_completeText.text = "실패";
} }
else
{
_completeText.text = $"성공!\n{matchingCocktail.Name}";
}
// TODO : 음료 제조 성공, 실패 연출 추가
_shaker.SetActive(false);
_amountText.enabled = false;
_completeCocktailImage.sprite = matchingCocktail.Sprite;
_completeCocktailImage.enabled = true;
_completeText.enabled = true;
// 1. 플레이어 음료 들기
TycoonEvents.OnCocktailCompleted?.Invoke(matchingCocktail);
Debug.Log($"{matchingCocktail.Idx} 음료 완성"); yield return new WaitForSeconds(1f);
HidePanel();
// TODO : 플레이어 이벤트를 통해 음료 들기
} }
/// <summary> /// <summary>
@ -392,12 +427,18 @@ namespace BlueWater
public void ShowPanel() public void ShowPanel()
{ {
if (_isShowingPanel) return;
_isShowingPanel = true;
_hideTween.Pause(); _hideTween.Pause();
_showTween.Restart(); _showTween.Restart();
} }
public void HidePanel() public void HidePanel()
{ {
if (!_isShowingPanel) return;
_isShowingPanel = false;
_showTween.Pause(); _showTween.Pause();
_hideTween.Restart(); _hideTween.Restart();
} }

View File

@ -6,6 +6,8 @@ namespace BlueWater
{ {
private void OnTriggerEnter(Collider other) private void OnTriggerEnter(Collider other)
{ {
if (GameManager.Instance.CurrentTycoonPlayer.IsCarriedItem()) return;
TycoonEvents.OnLiquidRegionEntered?.Invoke(); TycoonEvents.OnLiquidRegionEntered?.Invoke();
} }

View File

@ -41,7 +41,7 @@ namespace BlueWater.Tycoons
/// </summary> /// </summary>
public override bool CanInteraction() public override bool CanInteraction()
{ {
return true; return !CurrentTycoonPlayer.IsCarriedItem();
} }
public bool CanConsume(int amount) public bool CanConsume(int amount)

View File

@ -1,21 +1,21 @@
using UnityEngine; // using UnityEngine;
//
namespace BlueWater.Tycoons // namespace BlueWater.Tycoons
{ // {
public class BeverageMachine : InteractionFurniture // public class BeverageMachine : InteractionFurniture
{ // {
[SerializeField] // [SerializeField]
private string _itemIdx = "40001"; // private string _itemIdx = "40001";
//
public override void Interaction() // public override void Interaction()
{ // {
// TODO : 미니게임을 시작하고, 성공 여부에 따라 음식 품질 부여 // // TODO : 미니게임을 시작하고, 성공 여부에 따라 음식 품질 부여
CurrentTycoonPlayer.CarryItem(_itemIdx); // CurrentTycoonPlayer.CarryItem(_itemIdx);
} // }
//
public override bool CanInteraction() // public override bool CanInteraction()
{ // {
return !CurrentTycoonPlayer.IsCarriedItem(); // return !CurrentTycoonPlayer.IsCarriedItem();
} // }
} // }
} // }

View File

@ -128,7 +128,7 @@ namespace BlueWater.Tycoons
else else
{ {
var foodData = _cookedFoodDatas.Dequeue(); var foodData = _cookedFoodDatas.Dequeue();
CurrentTycoonPlayer.CarryItem(foodData.Idx, false); //CurrentTycoonPlayer.CarryItem(foodData.Idx, false);
} }
} }

View File

@ -1,20 +1,20 @@
using UnityEngine; // using UnityEngine;
//
namespace BlueWater.Tycoons // namespace BlueWater.Tycoons
{ // {
public class FireWood : InteractionFurniture // public class FireWood : InteractionFurniture
{ // {
[SerializeField] // [SerializeField]
private string _itemIdx = "70001"; // private string _itemIdx = "70001";
//
public override void Interaction() // public override void Interaction()
{ // {
CurrentTycoonPlayer.CarryItem(_itemIdx); // CurrentTycoonPlayer.CarryItem(_itemIdx);
} // }
//
public override bool CanInteraction() // public override bool CanInteraction()
{ // {
return IsOpened && !CurrentTycoonPlayer.IsCarriedItem(); // return IsOpened && !CurrentTycoonPlayer.IsCarriedItem();
} // }
} // }
} // }

View File

@ -4,7 +4,8 @@ namespace BlueWater.Tycoons
{ {
public override void Interaction() public override void Interaction()
{ {
CurrentTycoonPlayer.DiscardItem(); TycoonEvents.OnCocktailDiscarded?.Invoke();
//CurrentTycoonPlayer.DiscardItem();
} }
public override bool CanInteraction() public override bool CanInteraction()

View File

@ -40,7 +40,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 06a07650d842ee94390ca2505955e94d, type: 3}
- <Idx>k__BackingField: Cocktail002 - <Idx>k__BackingField: Cocktail002
<Name>k__BackingField: "\uCE75\uD14C\uC77CB" <Name>k__BackingField: "\uCE75\uD14C\uC77CB"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
@ -54,7 +54,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 19df9fcd0ddf5754890f7ea9c127b905, type: 3}
- <Idx>k__BackingField: Cocktail003 - <Idx>k__BackingField: Cocktail003
<Name>k__BackingField: "\uCE75\uD14C\uC77CC" <Name>k__BackingField: "\uCE75\uD14C\uC77CC"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
@ -68,7 +68,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: a51b37c5e512c7e488e80f986f5f8aac, type: 3}
- <Idx>k__BackingField: Cocktail004 - <Idx>k__BackingField: Cocktail004
<Name>k__BackingField: "\uCE75\uD14C\uC77CD" <Name>k__BackingField: "\uCE75\uD14C\uC77CD"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
@ -82,7 +82,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: d74e702a3e490a54e8a159128222f175, type: 3}
- <Idx>k__BackingField: Cocktail005 - <Idx>k__BackingField: Cocktail005
<Name>k__BackingField: "\uCE75\uD14C\uC77CE" <Name>k__BackingField: "\uCE75\uD14C\uC77CE"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
@ -96,7 +96,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: bff0ff1345b7ae446b330a01e6ef7bd3, type: 3}
- <Idx>k__BackingField: Cocktail006 - <Idx>k__BackingField: Cocktail006
<Name>k__BackingField: "\uCE75\uD14C\uC77CAC" <Name>k__BackingField: "\uCE75\uD14C\uC77CAC"
<RatioRange>k__BackingField: 5 <RatioRange>k__BackingField: 5
@ -110,7 +110,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 006a36cba2a146247a1d25b9e246faaa, type: 3}
- <Idx>k__BackingField: Cocktail007 - <Idx>k__BackingField: Cocktail007
<Name>k__BackingField: "\uCE75\uD14C\uC77CBD" <Name>k__BackingField: "\uCE75\uD14C\uC77CBD"
<RatioRange>k__BackingField: 5 <RatioRange>k__BackingField: 5
@ -124,7 +124,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 31d7e535d499d5f43ab64731acc3eec3, type: 3}
- <Idx>k__BackingField: Cocktail008 - <Idx>k__BackingField: Cocktail008
<Name>k__BackingField: "\uCE75\uD14C\uC77CCD" <Name>k__BackingField: "\uCE75\uD14C\uC77CCD"
<RatioRange>k__BackingField: 5 <RatioRange>k__BackingField: 5
@ -138,7 +138,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 997d0aea13894a9428bf9d9f7fb66762, type: 3}
- <Idx>k__BackingField: Cocktail009 - <Idx>k__BackingField: Cocktail009
<Name>k__BackingField: "\uCE75\uD14C\uC77CABE" <Name>k__BackingField: "\uCE75\uD14C\uC77CABE"
<RatioRange>k__BackingField: 10 <RatioRange>k__BackingField: 10
@ -152,7 +152,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 3d04bfa220b9ebe40a4ae3f0a68c0911, type: 3}
- <Idx>k__BackingField: Cocktail010 - <Idx>k__BackingField: Cocktail010
<Name>k__BackingField: "\uCE75\uD14C\uC77CCDE" <Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
<RatioRange>k__BackingField: 10 <RatioRange>k__BackingField: 10
@ -166,7 +166,7 @@ MonoBehaviour:
<IngredientAmount4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 21300000, guid: 09168d6395b3e9b41b195a2aa8ae0a82, type: 3}
- <Idx>k__BackingField: Cocktail011 - <Idx>k__BackingField: Cocktail011
<Name>k__BackingField: "\uCE75\uD14C\uC77CB1" <Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
<RatioRange>k__BackingField: 10 <RatioRange>k__BackingField: 10

View File

@ -27,7 +27,7 @@ namespace BlueWater.Tycoons
if (foodData == null) return; if (foodData == null) return;
FoodRecipes.Add(idx); FoodRecipes.Add(idx);
TycoonEvents.OnFoodRecipeAcquired?.Invoke(idx); //TycoonEvents.OnFoodRecipeAcquired?.Invoke(idx);
} }
public void AddDrinkRecipe(string idx) public void AddDrinkRecipe(string idx)

View File

@ -11,10 +11,12 @@ namespace BlueWater
public static Action OnLiquidRegionEntered; public static Action OnLiquidRegionEntered;
public static Action OnLiquidRegionExited; public static Action OnLiquidRegionExited;
public static Action<CocktailData> OnCocktailCompleted;
public static Action OnCocktailDiscarded;
// 요리 // 요리
public static Action<string> OnFoodRecipeAcquired; //public static Action<string> OnFoodRecipeAcquired;
} }
} }

View File

@ -1,3 +1,4 @@
using BlueWater.Interfaces;
using BlueWater.Items; using BlueWater.Items;
using BlueWater.Tycoons; using BlueWater.Tycoons;
using DG.Tweening; using DG.Tweening;
@ -7,14 +8,17 @@ using UnityEngine.UI;
namespace BlueWater.Uis namespace BlueWater.Uis
{ {
public class FoodBalloonUi : MonoBehaviour public class BalloonUi : MonoBehaviour
{ {
[field: Title("컴포넌트")] [Title("컴포넌트")]
[field: SerializeField, Required] [SerializeField, Required]
public Image FillImage { get; private set; } private Image _fillImage;
[field: SerializeField, Required] [SerializeField, Required]
public Image FoodImage { get; private set; } private Image _itemImage;
[SerializeField]
private GameObject _panel;
[Title("주문 정보")] [Title("주문 정보")]
[SerializeField, DisableIf("@true")] [SerializeField, DisableIf("@true")]
@ -24,7 +28,7 @@ namespace BlueWater.Uis
private bool _isWaitTimeOver; private bool _isWaitTimeOver;
[SerializeField, DisableIf("@true")] [SerializeField, DisableIf("@true")]
private bool _isFoodReceived; private bool _isItemReceived;
private Tween _tween; private Tween _tween;
private TableSeat _tableSeat; private TableSeat _tableSeat;
@ -34,17 +38,26 @@ namespace BlueWater.Uis
{ {
InitializeComponents(); InitializeComponents();
} }
private void Start()
{
TycoonEvents.OnCocktailCompleted += SetItemImage;
TycoonEvents.OnCocktailDiscarded += DiscardItem;
}
private void OnDestroy() private void OnDestroy()
{ {
TycoonEvents.OnCocktailCompleted -= SetItemImage;
TycoonEvents.OnCocktailDiscarded -= DiscardItem;
_tween.Kill(); _tween.Kill();
} }
[Button("컴포넌트 초기화")] [Button("컴포넌트 초기화")]
private void InitializeComponents() private void InitializeComponents()
{ {
FillImage = transform.Find("Background/FillImage").GetComponent<Image>(); _fillImage = transform.Find("Panel/FillImage").GetComponent<Image>();
FoodImage = transform.Find("FoodImage").GetComponent<Image>(); _itemImage = transform.Find("Panel/FoodImage").GetComponent<Image>();
_panel = transform.Find("Panel").gameObject;
} }
public void Initialize(TableSeat tableSeat) public void Initialize(TableSeat tableSeat)
@ -53,39 +66,48 @@ namespace BlueWater.Uis
HideUi(); HideUi();
} }
public void ShowUi() => gameObject.SetActive(true); public void ShowUi() => _panel.SetActive(true);
public void HideUi() => gameObject.SetActive(false); public void HideUi() => _panel.SetActive(false);
public void SetFoodImage(string foodIdx) public void SetItemImage(IPickup item)
{ {
_orderItemData = ItemManager.Instance.GetItemDataByIdx(foodIdx); //_orderItemData = ItemManager.Instance.GetItemDataByIdx(foodIdx);
if (_orderItemData == null) // if (_orderItemData == null)
// {
// Debug.LogError($"{foodIdx} 해당 음식을 등록할 수 없습니다.");
// return;
// }
if (!item.Sprite)
{ {
Debug.LogError($"{foodIdx} 해당 음식을 등록할 수 없습니다."); Debug.LogWarning($"{item.Sprite} 해당 음식의 이미지가 없습니다.");
return;
} }
if (!_orderItemData.Sprite) SetItemSprite(item.Sprite);
{ ShowUi();
Debug.LogWarning($"{_orderItemData.Sprite} 해당 음식의 이미지가 없습니다.");
}
FoodImage.sprite = _orderItemData.Sprite;
} }
public void SetFoodSprite(Sprite sprite) public void SetItemSprite(Sprite sprite)
{ {
FoodImage.sprite = sprite; _itemImage.sprite = sprite;
} }
public void OrderFood(string foodIdx, int waitTime, int hurryTime) public void DiscardItem()
{ {
HideUi();
SetItemImage(null);
}
public void OrderItem(string itemIdx, int waitTime, int hurryTime)
{
_orderItemData = ItemManager.Instance.GetItemDataByIdx(itemIdx);
_isOrdered = true; _isOrdered = true;
_isWaitTimeOver = false; _isWaitTimeOver = false;
_isFoodReceived = false; _isItemReceived = false;
SetFoodImage(foodIdx); SetItemImage(_orderItemData);
ShowUi(); ShowUi();
_tween = FillImage.DOFillAmount(1f, hurryTime) _tween = _fillImage.DOFillAmount(1f, hurryTime)
.From(0f) .From(0f)
.SetEase(Ease.Linear) .SetEase(Ease.Linear)
.SetDelay(waitTime) .SetDelay(waitTime)
@ -98,11 +120,11 @@ namespace BlueWater.Uis
{ {
_isOrdered = true; _isOrdered = true;
_isWaitTimeOver = false; _isWaitTimeOver = false;
_isFoodReceived = false; _isItemReceived = false;
SetFoodSprite(DataManager.Instance.SpriteDataSo.Gold); SetItemSprite(DataManager.Instance.SpriteDataSo.Gold);
ShowUi(); ShowUi();
_tween = FillImage.DOFillAmount(1f, hurryTime) _tween = _fillImage.DOFillAmount(1f, hurryTime)
.From(0f) .From(0f)
.SetEase(Ease.Linear) .SetEase(Ease.Linear)
.SetDelay(waitTime) .SetDelay(waitTime)
@ -118,7 +140,7 @@ namespace BlueWater.Uis
} }
public bool IsWaitTimeOver() => _isOrdered && _isWaitTimeOver; public bool IsWaitTimeOver() => _isOrdered && _isWaitTimeOver;
public bool IsFoodReceive() => _isFoodReceived; public bool IsFoodReceive() => _isItemReceived;
public void CancelOrder() public void CancelOrder()
{ {
@ -130,7 +152,7 @@ namespace BlueWater.Uis
_tableSeat.DirtyTable(); _tableSeat.DirtyTable();
_tween.Kill(); _tween.Kill();
HideUi(); HideUi();
_isFoodReceived = true; _isItemReceived = true;
} }
} }
} }

View File

@ -62,13 +62,13 @@ namespace BlueWater.Uis
private void Start() private void Start()
{ {
TycoonEvents.OnFoodRecipeAcquired += AddFoodRecipe; //TycoonEvents.OnFoodRecipeAcquired += AddFoodRecipe;
_dataManager.Inventory.OnChangeItemSlot += OnInventoryChange; _dataManager.Inventory.OnChangeItemSlot += OnInventoryChange;
} }
private void OnDestroy() private void OnDestroy()
{ {
TycoonEvents.OnFoodRecipeAcquired -= AddFoodRecipe; //TycoonEvents.OnFoodRecipeAcquired -= AddFoodRecipe;
_dataManager.Inventory.OnChangeItemSlot -= OnInventoryChange; _dataManager.Inventory.OnChangeItemSlot -= OnInventoryChange;
} }

View File

@ -53,7 +53,7 @@ namespace BlueWater.Uis
Destroy(indicator.gameObject); Destroy(indicator.gameObject);
return; return;
} }
var target = customer.FoodBalloonUi.transform; var target = customer.BalloonUi.transform;
var screenPosition = _mainCamera.WorldToScreenPoint(target.position); var screenPosition = _mainCamera.WorldToScreenPoint(target.position);
if (!target.gameObject.activeSelf) if (!target.gameObject.activeSelf)

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -46,9 +46,9 @@ TextureImporter:
spriteMode: 1 spriteMode: 1
spriteExtrude: 1 spriteExtrude: 1
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 9
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.08}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1

View File

@ -231,6 +231,7 @@ GameObject:
- component: {fileID: 2935942385829016914} - component: {fileID: 2935942385829016914}
- component: {fileID: 6054159730444663926} - component: {fileID: 6054159730444663926}
- component: {fileID: 1063431021331126030} - component: {fileID: 1063431021331126030}
- component: {fileID: 3359549505901716120}
- component: {fileID: 6662554121718997272} - component: {fileID: 6662554121718997272}
- component: {fileID: 1674052485383758547} - component: {fileID: 1674052485383758547}
- component: {fileID: 4836489897218844789} - component: {fileID: 4836489897218844789}
@ -548,10 +549,27 @@ MonoBehaviour:
<PlayerInput>k__BackingField: {fileID: 6054159730444663926} <PlayerInput>k__BackingField: {fileID: 6054159730444663926}
<VisualLook>k__BackingField: {fileID: 6509241874729291456} <VisualLook>k__BackingField: {fileID: 6509241874729291456}
<SkeletonAnimation>k__BackingField: {fileID: 7125556968546628472} <SkeletonAnimation>k__BackingField: {fileID: 7125556968546628472}
<FoodBalloonUi>k__BackingField: {fileID: 2412195434237916265} <BalloonUi>k__BackingField: {fileID: 0}
<TycoonInput>k__BackingField: {fileID: 1674052485383758547} <TycoonInput>k__BackingField: {fileID: 1674052485383758547}
<TycoonMovement>k__BackingField: {fileID: 4836489897218844789} <TycoonMovement>k__BackingField: {fileID: 4836489897218844789}
<TycoonCarryHandler>k__BackingField: {fileID: 909302231676134912} <TycoonCarryHandler>k__BackingField: {fileID: 909302231676134912}
--- !u!114 &3359549505901716120
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2768568390039878737}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6ff2dc3fa7a6be445bf8e71043f86d2e, type: 3}
m_Name:
m_EditorClassIdentifier:
_spriteRenderer: {fileID: 5527707380059080408}
<MaxHealthPoint>k__BackingField: 10
<CurrentHealthPoint>k__BackingField: 4
<InvincibilityDuration>k__BackingField: 0
<IsInvincible>k__BackingField: 0
--- !u!114 &6662554121718997272 --- !u!114 &6662554121718997272
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -596,7 +614,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: cb167e66df896c745a538310e5a52f61, type: 3} m_Script: {fileID: 11500000, guid: cb167e66df896c745a538310e5a52f61, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
<MoveSpeed>k__BackingField: 12 <MoveSpeed>k__BackingField: 7
--- !u!114 &909302231676134912 --- !u!114 &909302231676134912
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -723,9 +741,13 @@ PrefabInstance:
m_Modifications: m_Modifications:
- target: {fileID: 271498015662217203, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3} - target: {fileID: 271498015662217203, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: FoodBalloonUi value: BalloonUi
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 271498015662217203, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3} - target: {fileID: 271498015662217203, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1505211282054036597, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
@ -826,17 +848,6 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3} m_SourcePrefab: {fileID: 100100000, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3}
--- !u!114 &2412195434237916265 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2829248495233098512, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3}
m_PrefabInstance: {fileID: 448763968479860601}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4132c767aaeea7f43b8b894bde7b7351, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &2494354617667434336 stripped --- !u!224 &2494354617667434336 stripped
RectTransform: RectTransform:
m_CorrespondingSourceObject: {fileID: 2641341650102689817, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3} m_CorrespondingSourceObject: {fileID: 2641341650102689817, guid: bb0dfd08f3e9d944f808e61d886581e7, type: 3}

View File

@ -11,7 +11,7 @@ GameObject:
- component: {fileID: 2641341650102689817} - component: {fileID: 2641341650102689817}
- component: {fileID: 2829248495233098512} - component: {fileID: 2829248495233098512}
m_Layer: 5 m_Layer: 5
m_Name: FoodBalloonUi m_Name: BalloonUi
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@ -29,8 +29,7 @@ RectTransform:
m_LocalScale: {x: 5, y: 5, z: 5} m_LocalScale: {x: 5, y: 5, z: 5}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 1610583026884195458} - {fileID: 674323407039969650}
- {fileID: 6400894162898819538}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
@ -50,15 +49,50 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4132c767aaeea7f43b8b894bde7b7351, type: 3} m_Script: {fileID: 11500000, guid: 4132c767aaeea7f43b8b894bde7b7351, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
<FillImage>k__BackingField: {fileID: 2173167918881327799} _fillImage: {fileID: 2173167918881327799}
<FoodImage>k__BackingField: {fileID: 8218406547424483500} _itemImage: {fileID: 8218406547424483500}
_customer: {fileID: 0} _panel: {fileID: 1505211282054036597}
_offset: {x: -0.2, y: 1.5, z: 0}
_defaultWaitTime: 5
_customerWaitTime: 0
_isOrdered: 0 _isOrdered: 0
_isWaitTimeOver: 0 _isWaitTimeOver: 0
_isFoodReceived: 0 _isItemReceived: 0
--- !u!1 &1505211282054036597
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 674323407039969650}
m_Layer: 5
m_Name: Panel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &674323407039969650
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1505211282054036597}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1610583026884195458}
- {fileID: 6751494179874491372}
- {fileID: 6400894162898819538}
m_Father: {fileID: 2641341650102689817}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2909533541407981610 --- !u!1 &2909533541407981610
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -84,13 +118,12 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2909533541407981610} m_GameObject: {fileID: 2909533541407981610}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children: []
- {fileID: 6751494179874491372} m_Father: {fileID: 674323407039969650}
m_Father: {fileID: 2641341650102689817}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -160,12 +193,12 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3361235759547244541} m_GameObject: {fileID: 3361235759547244541}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 2641341650102689817} m_Father: {fileID: 674323407039969650}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -240,7 +273,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1610583026884195458} m_Father: {fileID: 674323407039969650}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}

View File

@ -0,0 +1,437 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6899510603462767330
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6232410504416114464}
- component: {fileID: 7088576196078217141}
m_Layer: 5
m_Name: HealthPointLayout
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6232410504416114464
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6899510603462767330}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6276399603260653652}
- {fileID: 4429608632515511125}
- {fileID: 7086445591134895074}
m_Father: {fileID: 879980064875257461}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 170, y: -130}
m_SizeDelta: {x: 60, y: 60}
m_Pivot: {x: 0, y: 0}
--- !u!114 &7088576196078217141
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6899510603462767330}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 10
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &9026075075559676996
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 879980064875257461}
- component: {fileID: 940439430324203188}
m_Layer: 5
m_Name: PlayerHealthPointUi
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &879980064875257461
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9026075075559676996}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6232410504416114464}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &940439430324203188
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9026075075559676996}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95a0ff880fd9f5942880892d403f67be, type: 3}
m_Name:
m_EditorClassIdentifier:
_healthPointLayout: {fileID: 6232410504416114464}
_healthPointPrefab: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
_maxHeartCount: 2
_healthPointImageList: []
_fullHeart: {fileID: 21300000, guid: 4e2159443b5aedf43849ec062f4f8016, type: 3}
_halfHeart: {fileID: 21300000, guid: 8de91ee4e8525bb46bb309c15c5207d3, type: 3}
_emptyHeart: {fileID: 21300000, guid: b519b8a1ceacfad4c834eb059d4004a7, type: 3}
--- !u!1001 &720849601358467280
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 6232410504416114464}
m_Modifications:
- target: {fileID: 1582184245155240560, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 8de91ee4e8525bb46bb309c15c5207d3, type: 3}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.x
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.y
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Name
value: HealthPoint (2)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
--- !u!224 &4429608632515511125 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
m_PrefabInstance: {fileID: 720849601358467280}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6134401636981352551
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 6232410504416114464}
m_Modifications:
- target: {fileID: 1582184245155240560, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: b519b8a1ceacfad4c834eb059d4004a7, type: 3}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.x
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.y
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Name
value: HealthPoint (3)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
--- !u!224 &7086445591134895074 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
m_PrefabInstance: {fileID: 6134401636981352551}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6945563682942374865
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 6232410504416114464}
m_Modifications:
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.x
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_SizeDelta.y
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7026391210700039621, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
propertyPath: m_Name
value: HealthPoint (1)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
--- !u!224 &6276399603260653652 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3997465226346976133, guid: b7ec42093fecf23439afbcf6ebd755db, type: 3}
m_PrefabInstance: {fileID: 6945563682942374865}
m_PrefabAsset: {fileID: 0}

View File

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