From af9b1a7448988308616d1bb92f0d61767cff4bf9 Mon Sep 17 00:00:00 2001 From: reisenlol Date: Sun, 11 Jan 2026 21:27:27 -0800 Subject: [PATCH] well it works --- Assets/Prefabs/Bullet.prefab | 1 + Assets/Prefabs/Enemy.prefab | 2 +- Assets/Prefabs/PlayerEntity.prefab | 257 ++++++++++++++++++++++- Assets/Prefabs/Tile.prefab | 2 +- Assets/Scenes/Prototype.unity | 276 ++++++++++++++++++++++++- Assets/Scripts/Entity.cs | 2 +- Assets/Scripts/PlayerEntity.cs | 15 +- Assets/Scripts/PlayerEntityMovement.cs | 4 +- Assets/Scripts/Projectile.cs | 12 ++ Assets/Scripts/RangedWeapon.cs | 1 - Assets/Scripts/TurnHandler.cs | 4 +- 11 files changed, 563 insertions(+), 13 deletions(-) diff --git a/Assets/Prefabs/Bullet.prefab b/Assets/Prefabs/Bullet.prefab index 61b95de..2a5f680 100644 --- a/Assets/Prefabs/Bullet.prefab +++ b/Assets/Prefabs/Bullet.prefab @@ -179,3 +179,4 @@ MonoBehaviour: damage: 100 speed: 10 pierceAmount: 4 + destructionTime: 3 diff --git a/Assets/Prefabs/Enemy.prefab b/Assets/Prefabs/Enemy.prefab index adca695..531b8f7 100644 --- a/Assets/Prefabs/Enemy.prefab +++ b/Assets/Prefabs/Enemy.prefab @@ -184,4 +184,4 @@ MonoBehaviour: invincible: 0 turnSpeed: 1 minimumAttackRange: 1.5 - damage: 0 + damage: 10 diff --git a/Assets/Prefabs/PlayerEntity.prefab b/Assets/Prefabs/PlayerEntity.prefab index 27c0eb8..dbaad5f 100644 --- a/Assets/Prefabs/PlayerEntity.prefab +++ b/Assets/Prefabs/PlayerEntity.prefab @@ -1,5 +1,258 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &423052272253214442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6763493467664428652} + - component: {fileID: 2207529770588508625} + - component: {fileID: 7236093009906185710} + - component: {fileID: 164913392818582490} + m_Layer: 0 + m_Name: HPCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6763493467664428652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423052272253214442} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.25, y: 1.25, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3164856206414981243} + m_Father: {fileID: 576146896620919861} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &2207529770588508625 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423052272253214442} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &7236093009906185710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423052272253214442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &164913392818582490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423052272253214442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &2367799225802331918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3104995061699689292} + - component: {fileID: 74676080647632567} + - component: {fileID: 9113421864638385598} + m_Layer: 0 + m_Name: HPBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3104995061699689292 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2367799225802331918} + 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: 3164856206414981243} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.000000059604645, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &74676080647632567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2367799225802331918} + m_CullTransparentMesh: 1 +--- !u!114 &9113421864638385598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2367799225802331918} + 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: 0.754717, g: 0.17443931, b: 0.17443931, 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: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3072338185407364987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3164856206414981243} + - component: {fileID: 3388054835193516624} + - component: {fileID: 8556889320250674899} + m_Layer: 0 + m_Name: HPBG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3164856206414981243 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3072338185407364987} + 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: 3104995061699689292} + m_Father: {fileID: 6763493467664428652} + 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.5} + m_SizeDelta: {x: 0.9, y: 0.15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3388054835193516624 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3072338185407364987} + m_CullTransparentMesh: 1 +--- !u!114 &8556889320250674899 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3072338185407364987} + 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: 0.2924528, g: 0.01517444, b: 0.01517444, 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: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &8094053231633710175 GameObject: m_ObjectHideFlags: 0 @@ -32,7 +285,8 @@ Transform: m_LocalPosition: {x: 2.5, y: 3.5, z: 0} m_LocalScale: {x: 0.8, y: 0.8, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 6763493467664428652} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &3017941309338641158 @@ -187,3 +441,4 @@ MonoBehaviour: weapons: - {fileID: 5015834028617221606, guid: a822f12b0129533629ae07e7075e0b33, type: 3} currentWeapon: {fileID: 0} + hpBar: {fileID: 3104995061699689292} diff --git a/Assets/Prefabs/Tile.prefab b/Assets/Prefabs/Tile.prefab index c3bdef7..cc8649b 100644 --- a/Assets/Prefabs/Tile.prefab +++ b/Assets/Prefabs/Tile.prefab @@ -489,7 +489,7 @@ MonoBehaviour: neighbors: [] sprite: {fileID: 7359796968934163911} blocked: 0 - hasUnit: 0 + hasUnit: {fileID: 0} --- !u!1 &8639074956751750509 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Prototype.unity b/Assets/Scenes/Prototype.unity index b7e0258..7c4de11 100644 --- a/Assets/Scenes/Prototype.unity +++ b/Assets/Scenes/Prototype.unity @@ -1786,6 +1786,139 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1218150747} m_CullTransparentMesh: 1 +--- !u!1 &1250801357 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1250801358} + - component: {fileID: 1250801361} + - component: {fileID: 1250801360} + - component: {fileID: 1250801359} + m_Layer: 5 + m_Name: SkipAllButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1250801358 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250801357} + 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: 1952057948} + m_Father: {fileID: 1453849255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -90, y: 45} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1250801359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250801357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1250801360} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1049538433} + m_TargetAssemblyTypeName: TurnHandler, Assembly-CSharp + m_MethodName: SkipAll + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1250801360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250801357} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1250801361 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250801357} + m_CullTransparentMesh: 1 --- !u!1 &1389484817 GameObject: m_ObjectHideFlags: 0 @@ -1914,10 +2047,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: - m_UiScaleMode: 0 + m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} + m_ReferenceResolution: {x: 1920, y: 1080} m_ScreenMatchMode: 0 m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 @@ -1961,6 +2094,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1741550582} + - {fileID: 1250801358} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -2018,7 +2152,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: opened: 0 - offset: {x: 150, y: -200, z: 0} + offset: {x: 180, y: -230, z: 0} actionUI: {fileID: 1862374684} moveButton: {fileID: 1991761901} attackButton: {fileID: 1904174745} @@ -2612,6 +2746,142 @@ Transform: m_CorrespondingSourceObject: {fileID: 7874053092508972642, guid: f8b988bc429cbeb5fbdd3d95c8ce553b, type: 3} m_PrefabInstance: {fileID: 2114217818563749931} m_PrefabAsset: {fileID: 0} +--- !u!1 &1952057947 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1952057948} + - component: {fileID: 1952057950} + - component: {fileID: 1952057949} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1952057948 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1952057947} + 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: 1250801358} + 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 &1952057949 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1952057947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Skip All + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1952057950 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1952057947} + m_CullTransparentMesh: 1 --- !u!1 &1991761899 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Entity.cs b/Assets/Scripts/Entity.cs index 6cb38cd..4fafeac 100644 --- a/Assets/Scripts/Entity.cs +++ b/Assets/Scripts/Entity.cs @@ -17,7 +17,7 @@ public class Entity : MonoBehaviour public bool canMove = true; public bool invincible; - public void TakeDamage(float damage) + public virtual void TakeDamage(float damage) { health -= damage; if (health <= 0) diff --git a/Assets/Scripts/PlayerEntity.cs b/Assets/Scripts/PlayerEntity.cs index 70bc8d1..5a4c4c1 100644 --- a/Assets/Scripts/PlayerEntity.cs +++ b/Assets/Scripts/PlayerEntity.cs @@ -3,12 +3,15 @@ using UnityEngine; public class PlayerEntity : Entity { + [Header("Player Flags")] public bool hasMoved = false; public bool hasAttacked = false; - private List moveableTiles = new(); + [Header("Weaponry")] [SerializeField] private Weapon[] weapons; private List weaponInstances = new(); public Weapon currentWeapon; + [Header("UI")] + [SerializeField] private Transform hpBar; void Start() { foreach (Weapon weapon in weapons) @@ -27,6 +30,16 @@ public class PlayerEntity : Entity } + public override void TakeDamage(float amount) + { + base.TakeDamage(amount); + UpdateHealthUI(); + } + public void UpdateHealthUI() + { + hpBar.localScale = new Vector3(health/maxHealth, 1f, 1f); + } + public void SkipTurn() { hasMoved = true; diff --git a/Assets/Scripts/PlayerEntityMovement.cs b/Assets/Scripts/PlayerEntityMovement.cs index 82a7900..81e8a3b 100644 --- a/Assets/Scripts/PlayerEntityMovement.cs +++ b/Assets/Scripts/PlayerEntityMovement.cs @@ -66,7 +66,7 @@ public class PlayerEntityMovement : MonoBehaviour requestedTile = newTile; foreach (TileObject tile in pathRequested) { - tile.sprite.color = new Color(137,137,137); + tile.sprite.color = new Color(137, 137, 137, 255); } PathfindToTarget(); } @@ -98,7 +98,7 @@ public class PlayerEntityMovement : MonoBehaviour { foreach (TileObject tileObject in currentMovableTiles) { - tileObject.sprite.color = new Color(137,137,137); + tileObject.sprite.color = new Color32(137,137,137, 255); } } diff --git a/Assets/Scripts/Projectile.cs b/Assets/Scripts/Projectile.cs index 1f0a299..9e976cc 100644 --- a/Assets/Scripts/Projectile.cs +++ b/Assets/Scripts/Projectile.cs @@ -10,6 +10,13 @@ public class Projectile : MonoBehaviour public float speed; public int pierceAmount; private int currentPierce; + public float destructionTime; + + private void Start() + { + Destroy(gameObject, destructionTime); + } + private void FixedUpdate() { rb.linearVelocity = transform.right * speed; @@ -32,4 +39,9 @@ public class Projectile : MonoBehaviour } } } + + private void OnDestroy() + { + TurnHandler.instance.UpdateTurns(); + } } diff --git a/Assets/Scripts/RangedWeapon.cs b/Assets/Scripts/RangedWeapon.cs index 39b6970..09a88cd 100644 --- a/Assets/Scripts/RangedWeapon.cs +++ b/Assets/Scripts/RangedWeapon.cs @@ -41,7 +41,6 @@ public class RangedWeapon : Weapon fired = true; isAiming = false; thisEntity.hasAttacked = true; - TurnHandler.instance.UpdateTurns(); } else if (Input.GetMouseButtonDown(1)) { diff --git a/Assets/Scripts/TurnHandler.cs b/Assets/Scripts/TurnHandler.cs index fe02134..9565790 100644 --- a/Assets/Scripts/TurnHandler.cs +++ b/Assets/Scripts/TurnHandler.cs @@ -53,13 +53,13 @@ public class TurnHandler : MonoBehaviour return; } } - currentGameState = GameState.EnemyTurn; - if (!enemyEntities[0]) + if (enemyEntities.Count == 0) { EndRound(); } else { + currentGameState = GameState.EnemyTurn; enemyEntities[0].StartTurn(); } }