diff --git a/Assets/Polyart/PolyartStudio/DreamscapeCastle/Scenes/DemoExterior.unity b/Assets/Polyart/PolyartStudio/DreamscapeCastle/Scenes/DemoExterior.unity index 79105539..58cd7d74 100644 --- a/Assets/Polyart/PolyartStudio/DreamscapeCastle/Scenes/DemoExterior.unity +++ b/Assets/Polyart/PolyartStudio/DreamscapeCastle/Scenes/DemoExterior.unity @@ -12378,7 +12378,9 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 1053253995} + - {fileID: 1676488288} m_Father: {fileID: 812152301} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -15467,12 +15469,6 @@ Transform: type: 3} m_PrefabInstance: {fileID: 108509478} m_PrefabAsset: {fileID: 0} ---- !u!1 &109262111 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4680818796634823330, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - m_PrefabInstance: {fileID: 757714195} - m_PrefabAsset: {fileID: 0} --- !u!1 &110296706 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1030975172, guid: abc00000000014995704704072955557, @@ -116517,161 +116513,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 757252437} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &757714195 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4680818796634823330, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_Name - value: Character - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823330, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823330, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_TagString - value: Player - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_RootOrder - value: 306 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalPosition.x - value: 123.2 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalPosition.y - value: 29.097 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalPosition.z - value: 338.48 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4680818796634823341, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4680818797271520422, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_RenderingPath - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 4680818797271520422, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_BackGroundColor.a - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4680818797271520422, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_BackGroundColor.b - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4680818797271520422, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_BackGroundColor.g - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4680818797271520422, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_BackGroundColor.r - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4680818797271520422, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - propertyPath: m_AllowDynamicResolution - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4680818796634823330, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - insertIndex: -1 - addedObject: {fileID: 757714200} - - targetCorrespondingSourceObject: {fileID: 4680818796634823330, guid: dc3f4998066447e4ebccba9fefe0f278, - type: 3} - insertIndex: -1 - addedObject: {fileID: 757714199} - m_SourcePrefab: {fileID: 100100000, guid: dc3f4998066447e4ebccba9fefe0f278, type: 3} ---- !u!114 &757714199 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 109262111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6ae53beee9ce9b24097289adbb0d7d5e, type: 3} - m_Name: - m_EditorClassIdentifier: - maxMana: 100 - mana: 100 - enableRegen: 1 - regenPerSecond: 8 - regenDelayAfterSpend: 1 ---- !u!114 &757714200 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 109262111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7318ee1be010c1e43b9f45dbbe3a8d9d, type: 3} - m_Name: - m_EditorClassIdentifier: - maxHealth: 100 - health: 100 - enableRegen: 1 - regenPerSecond: 1.5 - regenDelayAfterDamage: 4 --- !u!1001 &757733958 PrefabInstance: m_ObjectHideFlags: 0 @@ -164991,6 +164832,142 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1052851453} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1053253994 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 94165390} + m_Modifications: + - target: {fileID: 1244597452191189718, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Name + value: HealthBar + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_SizeDelta.x + value: 900 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_SizeDelta.y + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 470 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -150 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 951d711b27ffb9243b942d8d2c45e042, type: 3} +--- !u!224 &1053253995 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + m_PrefabInstance: {fileID: 1053253994} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1053253996 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4521506559915874773, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + m_PrefabInstance: {fileID: 1053253994} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1053499535 PrefabInstance: m_ObjectHideFlags: 0 @@ -275880,6 +275857,157 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1674965808} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1676488287 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 94165390} + m_Modifications: + - target: {fileID: 1244597452191189718, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Name + value: ManaBar + objectReference: {fileID: 0} + - target: {fileID: 4521506559915874773, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Color.b + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4521506559915874773, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Color.g + value: 0.8594818 + objectReference: {fileID: 0} + - target: {fileID: 4521506559915874773, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Color.r + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_SizeDelta.x + value: 900 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_SizeDelta.y + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 470 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -93 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 951d711b27ffb9243b942d8d2c45e042, type: 3} +--- !u!224 &1676488288 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7172057295676675169, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + m_PrefabInstance: {fileID: 1676488287} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1676488289 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4521506559915874773, guid: 951d711b27ffb9243b942d8d2c45e042, + type: 3} + m_PrefabInstance: {fileID: 1676488287} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1677015364 PrefabInstance: m_ObjectHideFlags: 0 @@ -353825,6 +353953,84 @@ Transform: - {fileID: 274935958} m_Father: {fileID: 226261319} m_LocalEulerAnglesHint: {x: 0, y: -143.87, z: 0} +--- !u!1001 &2042403783257441060 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3960509566317876621, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_Name + value: Character + objectReference: {fileID: 0} + - target: {fileID: 4580555029999605212, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: manaFillImage + value: + objectReference: {fileID: 1676488289} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalPosition.x + value: 123.2 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalPosition.y + value: 29.097 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalPosition.z + value: 338.48 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6446424649472988537, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8831903355050671002, guid: 576abe9759f86e542b8cee9ae2f0ffd7, + type: 3} + propertyPath: healthFillImage + value: + objectReference: {fileID: 1053253996} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 576abe9759f86e542b8cee9ae2f0ffd7, type: 3} --- !u!1001 &2612565535725099600 PrefabInstance: m_ObjectHideFlags: 0 @@ -354828,6 +355034,6 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1161484236} - - {fileID: 757714195} + - {fileID: 2042403783257441060} - {fileID: 812152301} - {fileID: 1282845313} diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 00000000..5cc0010d --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0119bd38f60eb6a4abc2ac4eac15d265 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Character.prefab b/Assets/Prefabs/Character.prefab new file mode 100644 index 00000000..193ebc5b --- /dev/null +++ b/Assets/Prefabs/Character.prefab @@ -0,0 +1,290 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2191382144852172495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8295047734135990781} + - component: {fileID: 4646540326165960552} + - component: {fileID: 8919498076661180667} + - component: {fileID: 6687888136625202998} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8295047734135990781 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2191382144852172495} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.873, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6446424649472988537} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &4646540326165960552 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2191382144852172495} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 10000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &8919498076661180667 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2191382144852172495} + m_Enabled: 1 +--- !u!114 &6687888136625202998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2191382144852172495} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 1 + m_Antialiasing: 3 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!1 &3960509566317876621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6446424649472988537} + - component: {fileID: 7291163819938778696} + - component: {fileID: 5031743721561312927} + - component: {fileID: 8831903355050671002} + - component: {fileID: 4580555029999605212} + m_Layer: 0 + m_Name: Character + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6446424649472988537 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3960509566317876621} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 123.2, y: 29.097, z: 338.48} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8295047734135990781} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!143 &7291163819938778696 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3960509566317876621} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &5031743721561312927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3960509566317876621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd55d7d9f01c1f144891ce8894793b9b, type: 3} + m_Name: + m_EditorClassIdentifier: + canSprint: 1 + canJump: 1 + canCrouch: 1 + canHeadBob: 1 + canInteract: 1 + useFootsteps: 0 + sprintKey: 304 + jumpKey: 32 + crouchKey: 306 + interactKey: 101 + interactionRayPoint: {x: 0, y: 0, z: 0} + interactionDistance: 0 + interactionLayer: + serializedVersion: 2 + m_Bits: 0 + walkSpeed: 6 + sprintSpeed: 12 + crouchSpeed: 1.5 + lookSpeedX: 2 + lookSpeedY: 2 + lowerLookLimit: 80 + upperLookLimit: 80 + jumpForce: 8 + gravity: 30 + crouchHeight: 0.5 + standinghHeight: 2 + timeToCrouch: 0.25 + crouchCenter: {x: 0, y: 0.5, z: 0} + standingCenter: {x: 0, y: 0, z: 0} + walkBobSpeed: 14 + walkBobAmount: 0.05 + sprintBobSpeed: 18 + sprintBobAmount: 0.11 + baseStepSpeed: 0.5 + crouchStepMultiplier: 1.5 + sprintStepMultiplier: 0.6 + footstepAudioSource: {fileID: 0} + woodClips: [] + stoneClips: [] + waterClips: [] + grassClips: [] +--- !u!114 &8831903355050671002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3960509566317876621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7318ee1be010c1e43b9f45dbbe3a8d9d, type: 3} + m_Name: + m_EditorClassIdentifier: + maxHealth: 100 + health: 100 + enableRegen: 1 + regenPerSecond: 1.5 + regenDelayAfterDamage: 8 + healthFillImage: {fileID: 0} +--- !u!114 &4580555029999605212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3960509566317876621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ae53beee9ce9b24097289adbb0d7d5e, type: 3} + m_Name: + m_EditorClassIdentifier: + maxMana: 100 + mana: 100 + enableRegen: 1 + regenPerSecond: 8 + regenDelayAfterSpend: 8 + manaFillImage: {fileID: 0} diff --git a/Assets/Prefabs/Character.prefab.meta b/Assets/Prefabs/Character.prefab.meta new file mode 100644 index 00000000..950d7663 --- /dev/null +++ b/Assets/Prefabs/Character.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 576abe9759f86e542b8cee9ae2f0ffd7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/UI.meta b/Assets/Prefabs/UI.meta new file mode 100644 index 00000000..73732155 --- /dev/null +++ b/Assets/Prefabs/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6cf0ee6f7b2d38346b09b10f4ec81a84 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/UI/Bar.prefab b/Assets/Prefabs/UI/Bar.prefab new file mode 100644 index 00000000..18f0b741 --- /dev/null +++ b/Assets/Prefabs/UI/Bar.prefab @@ -0,0 +1,189 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &147923091762810145 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2581067900589736530} + - component: {fileID: 8433273748947172046} + - component: {fileID: 4521506559915874773} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2581067900589736530 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147923091762810145} + 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: [] + m_Father: {fileID: 3771816303656470919} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 900, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8433273748947172046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147923091762810145} + m_CullTransparentMesh: 1 +--- !u!114 &4521506559915874773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 147923091762810145} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: d0f7dbe30dfbcf74498876fedf52ea7a, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1244597452191189718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7172057295676675169} + m_Layer: 5 + m_Name: Bar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7172057295676675169 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1244597452191189718} + 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: 3771816303656470919} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 471, y: 100} + m_SizeDelta: {x: 900, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &4999473199987106019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3771816303656470919} + - component: {fileID: 8197332393511138946} + - component: {fileID: 1752518680494453832} + m_Layer: 5 + m_Name: BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3771816303656470919 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4999473199987106019} + 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: 2581067900589736530} + m_Father: {fileID: 7172057295676675169} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 900, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8197332393511138946 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4999473199987106019} + m_CullTransparentMesh: 1 +--- !u!114 &1752518680494453832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4999473199987106019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: d0f7dbe30dfbcf74498876fedf52ea7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Prefabs/UI/Bar.prefab.meta b/Assets/Prefabs/UI/Bar.prefab.meta new file mode 100644 index 00000000..09e766c2 --- /dev/null +++ b/Assets/Prefabs/UI/Bar.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 951d711b27ffb9243b942d8d2c45e042 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/HealthManager.cs b/Assets/Scripts/Resources/HealthManager.cs index 89e3e0d0..976dee32 100644 --- a/Assets/Scripts/Resources/HealthManager.cs +++ b/Assets/Scripts/Resources/HealthManager.cs @@ -1,7 +1,8 @@ using System.Collections; -using System.Collections.Generic; using Polyart; using UnityEngine; +using UnityEngine.UI; +using DG.Tweening; // DOTween public class HealthManager : MonoBehaviour { @@ -9,17 +10,21 @@ public class HealthManager : MonoBehaviour public float maxHealth = 100f; public float health = 100f; - [Header("Regen (optional)")] + [Header("Regen")] public bool enableRegen = true; public float regenPerSecond = 1.5f; public float regenDelayAfterDamage = 4f; + [Header("UI")] + public Image healthFillImage; // or assign an Image with fillAmount + bool isDead = false; float regenResumeTime = 0f; void Awake() { health = Mathf.Clamp(health, 0, maxHealth); + InitUI(); } void Update() @@ -28,14 +33,14 @@ public class HealthManager : MonoBehaviour if (Time.time < regenResumeTime) return; if (health >= maxHealth) return; - health = Mathf.Min(maxHealth, health + regenPerSecond * Time.deltaTime); + SetHealth(Mathf.Min(maxHealth, health + regenPerSecond * Time.deltaTime)); } public void TakeDamage(float damage) { if (isDead || damage <= 0f) return; - health = Mathf.Max(0f, health - damage); + SetHealth(Mathf.Max(0f, health - damage)); regenResumeTime = Time.time + Mathf.Max(0f, regenDelayAfterDamage); if (health <= 0f) Die(); @@ -44,11 +49,17 @@ public class HealthManager : MonoBehaviour public void Heal(float amount) { if (amount <= 0f || isDead) return; - health = Mathf.Min(maxHealth, health + amount); + SetHealth(Mathf.Min(maxHealth, health + amount)); } public bool IsDead() => isDead; + void SetHealth(float newValue) + { + health = newValue; + UpdateUI(); + } + void Die() { if (isDead) return; @@ -57,14 +68,34 @@ public class HealthManager : MonoBehaviour var anim = GetComponent(); if (anim) anim.SetTrigger("die"); - // If you have an ActionScheduler, uncomment: - // var scheduler = GetComponent(); - // if (scheduler) scheduler.CancelCurrentAction(); - var cc = GetComponent(); if (cc) cc.enabled = false; var fps = GetComponent(); if (fps) fps.enabled = false; } + + void InitUI() + { + if (healthFillImage) + healthFillImage.fillAmount = health / maxHealth; + } + + void UpdateUI() + { + if (healthFillImage) + { + healthFillImage.DOFillAmount(health / maxHealth, 0.25f).SetEase(Ease.OutCubic); + } + } + + // ===== Debug Menu ===== + [ContextMenu("Debug/Take 10 Damage")] + void DebugTakeDamage() => TakeDamage(10f); + + [ContextMenu("Debug/Heal 10")] + void DebugHeal() => Heal(10f); + + [ContextMenu("Debug/Kill")] + void DebugKill() => TakeDamage(maxHealth); } diff --git a/Assets/Scripts/Resources/ManaManager.cs b/Assets/Scripts/Resources/ManaManager.cs index 0f7780ba..864c910e 100644 --- a/Assets/Scripts/Resources/ManaManager.cs +++ b/Assets/Scripts/Resources/ManaManager.cs @@ -1,6 +1,6 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; +using UnityEngine.UI; +using DG.Tweening; // DOTween public class ManaManager : MonoBehaviour { @@ -13,11 +13,15 @@ public class ManaManager : MonoBehaviour public float regenPerSecond = 8f; public float regenDelayAfterSpend = 1.0f; + [Header("UI")] + public Image manaFillImage; // or assign an Image with fillAmount + float regenResumeTime = 0f; void Awake() { mana = Mathf.Clamp(mana, 0, maxMana); + InitUI(); } void Update() @@ -26,7 +30,7 @@ public class ManaManager : MonoBehaviour if (Time.time < regenResumeTime) return; if (mana >= maxMana) return; - mana = Mathf.Min(maxMana, mana + regenPerSecond * Time.deltaTime); + SetMana(Mathf.Min(maxMana, mana + regenPerSecond * Time.deltaTime)); } public bool Has(float amount) => mana >= amount; @@ -36,7 +40,7 @@ public class ManaManager : MonoBehaviour if (amount <= 0f) return true; if (mana < amount) return false; - mana -= amount; + SetMana(mana - amount); regenResumeTime = Time.time + Mathf.Max(0f, regenDelayAfterSpend); return true; } @@ -44,7 +48,7 @@ public class ManaManager : MonoBehaviour public void Refill(float amount) { if (amount <= 0f) return; - mana = Mathf.Min(maxMana, mana + amount); + SetMana(Mathf.Min(maxMana, mana + amount)); } public void SetMax(float newMax, bool keepRatio = true) @@ -53,5 +57,36 @@ public class ManaManager : MonoBehaviour float ratio = maxMana > 0 ? mana / maxMana : 1f; maxMana = newMax; mana = keepRatio ? Mathf.Clamp01(ratio) * maxMana : Mathf.Min(mana, maxMana); + InitUI(); } + + void SetMana(float newValue) + { + mana = newValue; + UpdateUI(); + } + + void InitUI() + { + if (manaFillImage) + manaFillImage.fillAmount = mana / maxMana; + } + + void UpdateUI() + { + if (manaFillImage) + { + manaFillImage.DOFillAmount(mana / maxMana, 0.25f).SetEase(Ease.OutCubic); + } + } + + // ===== Debug Menu ===== + [ContextMenu("Debug/Spend 10 Mana")] + void DebugSpend() => Spend(10f); + + [ContextMenu("Debug/Refill 10 Mana")] + void DebugRefill() => Refill(10f); + + [ContextMenu("Debug/Empty Mana")] + void DebugEmpty() => Spend(maxMana); } diff --git a/Assets/UI.meta b/Assets/UI.meta new file mode 100644 index 00000000..b1ade2df --- /dev/null +++ b/Assets/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d3ecfb586a38664ab39f7459679430a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UI/2x2_Texture.png b/Assets/UI/2x2_Texture.png new file mode 100644 index 00000000..114f241c Binary files /dev/null and b/Assets/UI/2x2_Texture.png differ diff --git a/Assets/UI/2x2_Texture.png.meta b/Assets/UI/2x2_Texture.png.meta new file mode 100644 index 00000000..4a552434 --- /dev/null +++ b/Assets/UI/2x2_Texture.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: d0f7dbe30dfbcf74498876fedf52ea7a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: