From 39bffa8c59480219bf08df38f1c12c00e49532f3 Mon Sep 17 00:00:00 2001 From: Adam Salah Date: Tue, 29 Jul 2025 21:39:18 +0000 Subject: [PATCH 1/3] projectile revamp + scorpion (#14) Reviewed-on: https://gitea.clubconjure.com/Conjure/gather-and-defend/pulls/14 Reviewed-by: EliaGingras1 --- Assets/Prefabs/CastleProjectile.prefab | 159 ++++++------ Assets/Prefabs/baseProjectile.prefab | 148 +++++------ Assets/Prefabs/bolasProjectile.prefab | 27 +- Assets/Prefabs/oldBaseProjectile.prefab | 230 ++++++++++++++++++ Assets/Prefabs/oldBaseProjectile.prefab.meta | 7 + Assets/Prefabs/scorpionProjectile.prefab | 147 +++++------ Assets/Scripts/Ally/Archer.cs | 2 +- .../{Projectile.meta => Projectiles.meta} | 2 +- Assets/Scripts/Projectiles/ArcProjectile.cs | 61 +++++ .../Scripts/Projectiles/ArcProjectile.cs.meta | 11 + .../BolasProjectile.cs | 9 +- .../BolasProjectile.cs.meta | 0 Assets/Scripts/Projectiles/Projectile.cs | 58 +++++ Assets/Scripts/Projectiles/Projectile.cs.meta | 11 + .../ProjectileOld.cs} | 2 +- .../ProjectileOld.cs.meta} | 0 .../Scripts/Projectiles/StraightProjectile.cs | 43 ++++ .../Projectiles/StraightProjectile.cs.meta | 11 + .../Scripts/Projectiles/TargetedProjectile.cs | 17 ++ .../Projectiles/TargetedProjectile.cs.meta | 11 + Assets/Scripts/Root.cs | 11 +- 21 files changed, 690 insertions(+), 277 deletions(-) create mode 100644 Assets/Prefabs/oldBaseProjectile.prefab create mode 100644 Assets/Prefabs/oldBaseProjectile.prefab.meta rename Assets/Scripts/{Projectile.meta => Projectiles.meta} (77%) create mode 100644 Assets/Scripts/Projectiles/ArcProjectile.cs create mode 100644 Assets/Scripts/Projectiles/ArcProjectile.cs.meta rename Assets/Scripts/{Projectile => Projectiles}/BolasProjectile.cs (51%) rename Assets/Scripts/{Projectile => Projectiles}/BolasProjectile.cs.meta (100%) create mode 100644 Assets/Scripts/Projectiles/Projectile.cs create mode 100644 Assets/Scripts/Projectiles/Projectile.cs.meta rename Assets/Scripts/{Projectile.cs => Projectiles/ProjectileOld.cs} (99%) rename Assets/Scripts/{Projectile.cs.meta => Projectiles/ProjectileOld.cs.meta} (100%) create mode 100644 Assets/Scripts/Projectiles/StraightProjectile.cs create mode 100644 Assets/Scripts/Projectiles/StraightProjectile.cs.meta create mode 100644 Assets/Scripts/Projectiles/TargetedProjectile.cs create mode 100644 Assets/Scripts/Projectiles/TargetedProjectile.cs.meta diff --git a/Assets/Prefabs/CastleProjectile.prefab b/Assets/Prefabs/CastleProjectile.prefab index b2ae9f5..1ca5bdc 100644 --- a/Assets/Prefabs/CastleProjectile.prefab +++ b/Assets/Prefabs/CastleProjectile.prefab @@ -1,5 +1,77 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &298534009199319999 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2287864536556935619} + - component: {fileID: 246610560728595982} + - component: {fileID: 634419449123047291} + m_Layer: 0 + m_Name: collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2287864536556935619 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298534009199319999} + 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: 6962989255644195631} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &246610560728595982 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298534009199319999} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0.16277367, y: 0.016521543} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.3744527, y: 0.17825907} + m_EdgeRadius: 0 +--- !u!114 &634419449123047291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298534009199319999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3} + m_Name: + m_EditorClassIdentifier: + _entityLinked: {fileID: 0} --- !u!1 &6962989255644195630 GameObject: m_ObjectHideFlags: 0 @@ -10,7 +82,7 @@ GameObject: m_Component: - component: {fileID: 6962989255644195631} - component: {fileID: -1491803373025033585} - - component: {fileID: 8133954670424616578} + - component: {fileID: 621676283081164958} m_Layer: 0 m_Name: CastleProjectile m_TagString: Untagged @@ -31,7 +103,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 6962989256011107500} - - {fileID: 6802302589573039538} + - {fileID: 2287864536556935619} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -56,7 +128,7 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 4 ---- !u!114 &8133954670424616578 +--- !u!114 &621676283081164958 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -65,13 +137,12 @@ MonoBehaviour: m_GameObject: {fileID: 6962989255644195630} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3} + m_Script: {fileID: 11500000, guid: 93457b8199dbf2f48b89f680687dbd6e, type: 3} m_Name: m_EditorClassIdentifier: - _detectionLinked: {fileID: 4130391605812397686} - straightProjectile: 1 + _speed: 5 + _direction: 0 _angle: 10 - _speed: 1 --- !u!1 &6962989256011107503 GameObject: m_ObjectHideFlags: 0 @@ -83,7 +154,7 @@ GameObject: - component: {fileID: 6962989256011107500} - component: {fileID: 6962989256011107501} m_Layer: 0 - m_Name: exmeple + m_Name: sprite m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -156,75 +227,3 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!1 &8726647054546243319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6802302589573039538} - - component: {fileID: 7006189111012443782} - - component: {fileID: 4130391605812397686} - m_Layer: 0 - m_Name: detection - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6802302589573039538 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - 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: 6962989255644195631} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!61 &7006189111012443782 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.16277367, y: 0.016521543} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.3744527, y: 0.17825907} - m_EdgeRadius: 0 ---- !u!114 &4130391605812397686 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3} - m_Name: - m_EditorClassIdentifier: - _entityLinked: {fileID: 0} diff --git a/Assets/Prefabs/baseProjectile.prefab b/Assets/Prefabs/baseProjectile.prefab index bba972b..153eaf4 100644 --- a/Assets/Prefabs/baseProjectile.prefab +++ b/Assets/Prefabs/baseProjectile.prefab @@ -1,5 +1,63 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &2082922348827363435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4569873279010216557} + - component: {fileID: 3167830415449792895} + m_Layer: 0 + m_Name: collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4569873279010216557 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2082922348827363435} + 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: 6962989255644195631} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &3167830415449792895 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2082922348827363435} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: -0.1, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.2, y: 0.1} + m_EdgeRadius: 0 --- !u!1 &6962989255644195630 GameObject: m_ObjectHideFlags: 0 @@ -10,7 +68,7 @@ GameObject: m_Component: - component: {fileID: 6962989255644195631} - component: {fileID: -1491803373025033585} - - component: {fileID: 8133954670424616578} + - component: {fileID: 6762493969386267100} m_Layer: 0 m_Name: baseProjectile m_TagString: Untagged @@ -31,7 +89,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 6962989256011107500} - - {fileID: 6802302589573039538} + - {fileID: 4569873279010216557} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -43,7 +101,7 @@ Rigidbody2D: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6962989255644195630} - m_BodyType: 0 + m_BodyType: 1 m_Simulated: 1 m_UseFullKinematicContacts: 0 m_UseAutoMass: 0 @@ -56,7 +114,7 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 4 ---- !u!114 &8133954670424616578 +--- !u!114 &6762493969386267100 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -65,12 +123,12 @@ MonoBehaviour: m_GameObject: {fileID: 6962989255644195630} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3} + m_Script: {fileID: 11500000, guid: 93457b8199dbf2f48b89f680687dbd6e, type: 3} m_Name: m_EditorClassIdentifier: - _detectionLinked: {fileID: 4130391605812397686} - _angle: 10 - _speed: 1 + _speed: 5 + _direction: 0 + _angle: 30 --- !u!1 &6962989256011107503 GameObject: m_ObjectHideFlags: 0 @@ -82,7 +140,7 @@ GameObject: - component: {fileID: 6962989256011107500} - component: {fileID: 6962989256011107501} m_Layer: 0 - m_Name: exmeple + m_Name: sprite m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -155,75 +213,3 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!1 &8726647054546243319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6802302589573039538} - - component: {fileID: 7006189111012443782} - - component: {fileID: 4130391605812397686} - m_Layer: 0 - m_Name: detection - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6802302589573039538 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - 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: 6962989255644195631} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!61 &7006189111012443782 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.16277367, y: 0.016521543} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.3744527, y: 0.17825907} - m_EdgeRadius: 0 ---- !u!114 &4130391605812397686 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3} - m_Name: - m_EditorClassIdentifier: - _entityLinked: {fileID: 0} diff --git a/Assets/Prefabs/bolasProjectile.prefab b/Assets/Prefabs/bolasProjectile.prefab index 5288fd8..e4eae30 100644 --- a/Assets/Prefabs/bolasProjectile.prefab +++ b/Assets/Prefabs/bolasProjectile.prefab @@ -68,10 +68,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: af32629f84318134799756134098abf9, type: 3} m_Name: m_EditorClassIdentifier: - _detectionLinked: {fileID: 4130391605812397686} - straightProjectile: 1 - _angle: 0 - _speed: 2 + _speed: 5 + _direction: 0 + _maxHitEntities: 1 _slowIntensity: 0.25 _slowDuration: 5 --- !u!1 &6962989256011107503 @@ -168,9 +167,8 @@ GameObject: m_Component: - component: {fileID: 6802302589573039538} - component: {fileID: 7006189111012443782} - - component: {fileID: 4130391605812397686} m_Layer: 0 - m_Name: detection + m_Name: collider m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -204,7 +202,7 @@ BoxCollider2D: m_IsTrigger: 1 m_UsedByEffector: 0 m_UsedByComposite: 0 - m_Offset: {x: 0.16277367, y: 0.016521543} + m_Offset: {x: -0.1, y: 0} m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} pivot: {x: 0, y: 0} @@ -215,18 +213,5 @@ BoxCollider2D: adaptiveTiling: 0 m_AutoTiling: 0 serializedVersion: 2 - m_Size: {x: 0.3744527, y: 0.17825907} + m_Size: {x: 0.2, y: 0.1} m_EdgeRadius: 0 ---- !u!114 &4130391605812397686 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3} - m_Name: - m_EditorClassIdentifier: - _entityLinked: {fileID: 0} diff --git a/Assets/Prefabs/oldBaseProjectile.prefab b/Assets/Prefabs/oldBaseProjectile.prefab new file mode 100644 index 0000000..64c81db --- /dev/null +++ b/Assets/Prefabs/oldBaseProjectile.prefab @@ -0,0 +1,230 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6962989255644195630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6962989255644195631} + - component: {fileID: -1491803373025033585} + - component: {fileID: 8133954670424616578} + m_Layer: 0 + m_Name: oldBaseProjectile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6962989255644195631 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962989255644195630} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.61, y: -0.638, z: 1.8112363} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6962989256011107500} + - {fileID: 6802302589573039538} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &-1491803373025033585 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962989255644195630} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!114 &8133954670424616578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962989255644195630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3} + m_Name: + m_EditorClassIdentifier: + _detectionLinked: {fileID: 4130391605812397686} + straightProjectile: 0 + _angle: 10 + _speed: 1 +--- !u!1 &6962989256011107503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6962989256011107500} + - component: {fileID: 6962989256011107501} + m_Layer: 0 + m_Name: exmeple + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6962989256011107500 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962989256011107503} + m_LocalRotation: {x: 0, y: -0, z: 0.7071068, w: -0.7071068} + m_LocalPosition: {x: 0.0259, y: 0.01, z: 0} + m_LocalScale: {x: 0.5394133, y: 0.56488746, z: 0.9686} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6962989255644195631} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 270} +--- !u!212 &6962989256011107501 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962989256011107503} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 364159097 + m_SortingLayer: 1 + m_SortingOrder: 4 + m_Sprite: {fileID: 21300000, guid: b28a7c5aeb45b224983f69339965c55d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.06, y: 1.69} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &8726647054546243319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6802302589573039538} + - component: {fileID: 7006189111012443782} + - component: {fileID: 4130391605812397686} + m_Layer: 0 + m_Name: detection + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6802302589573039538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8726647054546243319} + 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: 6962989255644195631} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &7006189111012443782 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8726647054546243319} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0.16277367, y: 0.016521543} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.3744527, y: 0.17825907} + m_EdgeRadius: 0 +--- !u!114 &4130391605812397686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8726647054546243319} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3} + m_Name: + m_EditorClassIdentifier: + _entityLinked: {fileID: 0} diff --git a/Assets/Prefabs/oldBaseProjectile.prefab.meta b/Assets/Prefabs/oldBaseProjectile.prefab.meta new file mode 100644 index 0000000..d63ba41 --- /dev/null +++ b/Assets/Prefabs/oldBaseProjectile.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 61e75a685be726940abc2cf555836e96 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/scorpionProjectile.prefab b/Assets/Prefabs/scorpionProjectile.prefab index ea278a3..a7eb2a3 100644 --- a/Assets/Prefabs/scorpionProjectile.prefab +++ b/Assets/Prefabs/scorpionProjectile.prefab @@ -1,5 +1,63 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &300123471756193662 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1663512243480751314} + - component: {fileID: 3915641876488228129} + m_Layer: 0 + m_Name: collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1663512243480751314 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 300123471756193662} + 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: 6962989255644195631} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &3915641876488228129 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 300123471756193662} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: -0.27199745, y: -0.0008074939} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.5439949, y: 0.259885} + m_EdgeRadius: 0 --- !u!1 &6962989255644195630 GameObject: m_ObjectHideFlags: 0 @@ -10,7 +68,7 @@ GameObject: m_Component: - component: {fileID: 6962989255644195631} - component: {fileID: -1491803373025033585} - - component: {fileID: 8133954670424616578} + - component: {fileID: -6001325168800467254} m_Layer: 0 m_Name: scorpionProjectile m_TagString: Untagged @@ -30,8 +88,8 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 6802302589573039538} - {fileID: 3815555280328424213} + - {fileID: 1663512243480751314} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -56,7 +114,7 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 4 ---- !u!114 &8133954670424616578 +--- !u!114 &-6001325168800467254 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -65,85 +123,12 @@ MonoBehaviour: m_GameObject: {fileID: 6962989255644195630} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3} + m_Script: {fileID: 11500000, guid: 5ceb014877ce6be4fb369fcfd8234952, type: 3} m_Name: m_EditorClassIdentifier: - _detectionLinked: {fileID: 4130391605812397686} - straightProjectile: 1 - _angle: 90 - _speed: 14 ---- !u!1 &8726647054546243319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6802302589573039538} - - component: {fileID: 7006189111012443782} - - component: {fileID: 4130391605812397686} - m_Layer: 0 - m_Name: detection - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6802302589573039538 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - 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: 6962989255644195631} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!61 &7006189111012443782 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.2813213, y: 0.016521543} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.61154795, y: 0.17825907} - m_EdgeRadius: 0 ---- !u!114 &4130391605812397686 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8726647054546243319} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3} - m_Name: - m_EditorClassIdentifier: - _entityLinked: {fileID: 0} + _speed: 5 + _direction: 0 + _maxHitEntities: 3 --- !u!1 &8978875623871672114 GameObject: m_ObjectHideFlags: 0 @@ -174,7 +159,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6962989255644195631} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8544502696280423281 SpriteRenderer: diff --git a/Assets/Scripts/Ally/Archer.cs b/Assets/Scripts/Ally/Archer.cs index c63c3a1..b3f00bf 100644 --- a/Assets/Scripts/Ally/Archer.cs +++ b/Assets/Scripts/Ally/Archer.cs @@ -13,7 +13,7 @@ public class Archer : Ally public override void Update() { base.Update(); - if(IsEnemyDetected) { + if (IsEnemyDetected && Enemy.Hp > 0) { AttackEnemy(); } diff --git a/Assets/Scripts/Projectile.meta b/Assets/Scripts/Projectiles.meta similarity index 77% rename from Assets/Scripts/Projectile.meta rename to Assets/Scripts/Projectiles.meta index 579c88f..ad9c0f4 100644 --- a/Assets/Scripts/Projectile.meta +++ b/Assets/Scripts/Projectiles.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 796c5970b01ebd249b04e1a0598abc7c +guid: e5b82afdc49c5c74dbc9bcc51c0ace0d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Projectiles/ArcProjectile.cs b/Assets/Scripts/Projectiles/ArcProjectile.cs new file mode 100644 index 0000000..a384e54 --- /dev/null +++ b/Assets/Scripts/Projectiles/ArcProjectile.cs @@ -0,0 +1,61 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ArcProjectile : TargetedProjectile +{ + [Header("Arc Projectile")] + [SerializeField, Range(0, 90)] + private float _angle = 45.0f; + + protected override void ApplyMovement() + { + if (Target != null) + { + EndPos = Target.Position; + } + + // position: + // k(ax^2 + x) + // k: angle comme ratio opposé / adjacent + // a: -1 / distance + // x: position x sur l'arc + // y: position y sur l'arc + float distance = (EndPos.x - StartPos.x); + float k = Mathf.Sign(distance) * Mathf.Tan(_angle * Mathf.Deg2Rad); + float a = -1.0f / distance; + float x = (transform.position.x - StartPos.x) + Speed * Time.deltaTime; + float y = k * (a * x * x + x); + Vector2 newPos = new Vector2(StartPos.x + x, StartPos.y + y); + transform.position = newPos; + + // rotation: + // k(2ax + 1) + // (c'est la dérivée de la position) + float dDx = k * (2 * a * x + 1); + float rotationAngle = Mathf.Atan(dDx) * Mathf.Rad2Deg; + transform.eulerAngles = new Vector3(0, 0, rotationAngle); + + if (y < 0) + { + Destroy(gameObject); + } + } + + protected override void HandleCollision(Collider2D other) + { + if (Target == null) return; + if (other.gameObject != Target.gameObject) return; + + if (other.TryGetComponent(out Entity target)) + { + ApplyEffects(target); + target.Hit(Damage); + if (target.Hp <= 0) + { + target.Death(); + } + Destroy(gameObject); + } + } +} diff --git a/Assets/Scripts/Projectiles/ArcProjectile.cs.meta b/Assets/Scripts/Projectiles/ArcProjectile.cs.meta new file mode 100644 index 0000000..1f6ad20 --- /dev/null +++ b/Assets/Scripts/Projectiles/ArcProjectile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93457b8199dbf2f48b89f680687dbd6e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Projectile/BolasProjectile.cs b/Assets/Scripts/Projectiles/BolasProjectile.cs similarity index 51% rename from Assets/Scripts/Projectile/BolasProjectile.cs rename to Assets/Scripts/Projectiles/BolasProjectile.cs index 4285796..9f5da41 100644 --- a/Assets/Scripts/Projectile/BolasProjectile.cs +++ b/Assets/Scripts/Projectiles/BolasProjectile.cs @@ -2,18 +2,19 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class BolasProjectile : Projectile +public class BolasProjectile : StraightProjectile { + [Header("Bolas Projectile")] [SerializeField] private float _slowIntensity = 0.25f; [SerializeField] private float _slowDuration = 5f; - protected override void ApplyEffects() + protected override void ApplyEffects(Entity target) { - if (Target.StatusHandler) + if (target.StatusHandler) { - Target.StatusHandler.ApplySlow(_slowIntensity, _slowDuration); + target.StatusHandler.ApplySlow(_slowIntensity, _slowDuration); } } } diff --git a/Assets/Scripts/Projectile/BolasProjectile.cs.meta b/Assets/Scripts/Projectiles/BolasProjectile.cs.meta similarity index 100% rename from Assets/Scripts/Projectile/BolasProjectile.cs.meta rename to Assets/Scripts/Projectiles/BolasProjectile.cs.meta diff --git a/Assets/Scripts/Projectiles/Projectile.cs b/Assets/Scripts/Projectiles/Projectile.cs new file mode 100644 index 0000000..5559a38 --- /dev/null +++ b/Assets/Scripts/Projectiles/Projectile.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class Projectile : MonoBehaviour +{ + [Header("Projectile")] + [SerializeField] + private float _speed = 5.0f; + [SerializeField] + private DirectionEnum _direction; + + private int _damage; + private Entity _origin; + private Vector2 _startPos; + + protected virtual void Start() + { + if (Direction == DirectionEnum.Left) + { + _speed = -_speed; + } + _startPos = new Vector2(_origin.transform.position.x, _origin.transform.position.y); + } + + private void Update() + { + ApplyMovement(); + if (transform.position.x < -100.0f || transform.position.x > 100.0f) + { + Destroy(gameObject); + } + } + + private void OnTriggerEnter2D(Collider2D other) + { + HandleCollision(other); + } + + protected virtual void ApplyEffects(Entity target) { } + + protected abstract void ApplyMovement(); + + protected abstract void HandleCollision(Collider2D other); + + public float Speed { get => _speed; set => _speed = value; } + public int Damage { get => _damage; set => _damage = value; } + private DirectionEnum Direction { get => _direction; set => _direction = value; } + public Entity Origin { get => _origin; set => _origin = value; } + public Vector2 StartPos { get => _startPos; set => _startPos = value; } + + protected enum DirectionEnum + { + Right, + Left + } +} diff --git a/Assets/Scripts/Projectiles/Projectile.cs.meta b/Assets/Scripts/Projectiles/Projectile.cs.meta new file mode 100644 index 0000000..d803885 --- /dev/null +++ b/Assets/Scripts/Projectiles/Projectile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7f3a7a4a2b2f8a04ebf99682d8e0f808 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Projectile.cs b/Assets/Scripts/Projectiles/ProjectileOld.cs similarity index 99% rename from Assets/Scripts/Projectile.cs rename to Assets/Scripts/Projectiles/ProjectileOld.cs index 5862d26..4e9867f 100644 --- a/Assets/Scripts/Projectile.cs +++ b/Assets/Scripts/Projectiles/ProjectileOld.cs @@ -3,7 +3,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class Projectile : MonoBehaviour +public class ProjectileOld : MonoBehaviour { [SerializeField] diff --git a/Assets/Scripts/Projectile.cs.meta b/Assets/Scripts/Projectiles/ProjectileOld.cs.meta similarity index 100% rename from Assets/Scripts/Projectile.cs.meta rename to Assets/Scripts/Projectiles/ProjectileOld.cs.meta diff --git a/Assets/Scripts/Projectiles/StraightProjectile.cs b/Assets/Scripts/Projectiles/StraightProjectile.cs new file mode 100644 index 0000000..a4290e5 --- /dev/null +++ b/Assets/Scripts/Projectiles/StraightProjectile.cs @@ -0,0 +1,43 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class StraightProjectile : Projectile +{ + [Header("Straight Projectile")] + [SerializeField] + private int _maxHitEntities = 1; + + private List _hitEntities = new List(); + + protected override void ApplyMovement() + { + transform.position += new Vector3(Speed * Time.deltaTime, 0.0f, 0.0f); + } + + protected override void HandleCollision(Collider2D other) + { + if (other.CompareTag(Origin.tag)) return; + + if (other.TryGetComponent(out Entity target) && + !HitEntities.Contains(target) && + HitEntities.Count < MaxHitEntities) + { + ApplyEffects(target); + target.Hit(Damage); + HitEntities.Add(target); + if (target.Hp <= 0) + { + target.Death(); + } + } + + if (HitEntities.Count >= MaxHitEntities) + { + Destroy(gameObject); + } + } + + public List HitEntities { get => _hitEntities; set => _hitEntities = value; } + public int MaxHitEntities { get => _maxHitEntities; set => _maxHitEntities = value; } +} diff --git a/Assets/Scripts/Projectiles/StraightProjectile.cs.meta b/Assets/Scripts/Projectiles/StraightProjectile.cs.meta new file mode 100644 index 0000000..c80a4df --- /dev/null +++ b/Assets/Scripts/Projectiles/StraightProjectile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5ceb014877ce6be4fb369fcfd8234952 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Projectiles/TargetedProjectile.cs b/Assets/Scripts/Projectiles/TargetedProjectile.cs new file mode 100644 index 0000000..c0aec81 --- /dev/null +++ b/Assets/Scripts/Projectiles/TargetedProjectile.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class TargetedProjectile : Projectile +{ + private Vector2 _endPos; + + protected override void Start() + { + base.Start(); + _endPos = Target.Position; + } + + public Vector2 EndPos { get => _endPos; set => _endPos = value; } + public Entity Target { get => Origin.Enemy;} +} diff --git a/Assets/Scripts/Projectiles/TargetedProjectile.cs.meta b/Assets/Scripts/Projectiles/TargetedProjectile.cs.meta new file mode 100644 index 0000000..3071c9b --- /dev/null +++ b/Assets/Scripts/Projectiles/TargetedProjectile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ce23527d40bdc4f429d5a976b66d7146 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Root.cs b/Assets/Scripts/Root.cs index b5a6d3e..5a6661d 100644 --- a/Assets/Scripts/Root.cs +++ b/Assets/Scripts/Root.cs @@ -35,13 +35,10 @@ public class Root : MonoBehaviour Vector3 spawnPos = (_projectileSpawn == null) ? _rigidbodyAlly.position : _projectileSpawn.position; GameObject _newArrow = Instantiate(_projectile, spawnPos, Quaternion.identity); - - //Warning : the Speed of the arrow is equal to the speed of this unit, if this unit need to move, use an other variable ! - _newArrow.GetComponent().Damage = _entity.AttackDamage; - _newArrow.GetComponent().EnemySpeed = _entity.Enemy.Speed; - _newArrow.GetComponent().VectorStart = _rigidbodyAlly.position; - _newArrow.GetComponent().VectorEnd = _rigidbodyOpponent.position; - _newArrow.GetComponent().Target = _entity.Enemy; + + var projectile = _newArrow.GetComponent(); + projectile.Damage = _entity.AttackDamage; + projectile.Origin = _entity; } public void PlaySound(string soundName) From 61fcd9bf82d84a6108831c85426c67aa12930f9b Mon Sep 17 00:00:00 2001 From: Adam Salah Date: Tue, 29 Jul 2025 21:39:59 +0000 Subject: [PATCH 2/3] outline when hovering unit upgrade (#15) Reviewed-on: https://gitea.clubconjure.com/Conjure/gather-and-defend/pulls/15 Reviewed-by: EliaGingras1 --- Assets/Prefabs/Buildings/Blacksmith.prefab | 1 + Assets/Prefabs/Buildings/House.prefab | 64 ++++- Assets/Prefabs/Buildings/Mill.prefab | 1 + Assets/Prefabs/Buildings/Workshop.prefab | 1 + .../UI/BuyableUnitsView/UpgradeButtons.prefab | 66 +++-- .../UpgradePlacementButton.prefab | 13 +- .../Prefabs/UI/UnitUpgrade/UnitUpgrade.prefab | 72 ++--- Assets/Scenes/Game.unity | 256 +++++++++++------- Assets/Scripts/Ally/House.cs | 9 +- Assets/Scripts/Ally/ProductionBuilding.cs | 5 +- .../UnitTree/UpgradePlacementButton.cs | 39 ++- 11 files changed, 354 insertions(+), 173 deletions(-) diff --git a/Assets/Prefabs/Buildings/Blacksmith.prefab b/Assets/Prefabs/Buildings/Blacksmith.prefab index 10605d2..248cb41 100644 --- a/Assets/Prefabs/Buildings/Blacksmith.prefab +++ b/Assets/Prefabs/Buildings/Blacksmith.prefab @@ -102,6 +102,7 @@ MonoBehaviour: _attack_damage: 0 _attack_interval: 0 _enemy: {fileID: 0} + rangeOutline: {fileID: 4877144423808268021} _range: 1 _multiplier: 10 --- !u!1 &5799165302180276253 diff --git a/Assets/Prefabs/Buildings/House.prefab b/Assets/Prefabs/Buildings/House.prefab index cd31566..51236f5 100644 --- a/Assets/Prefabs/Buildings/House.prefab +++ b/Assets/Prefabs/Buildings/House.prefab @@ -30,7 +30,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 3583371971866016829} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8050872027781041876 SpriteRenderer: @@ -84,6 +84,64 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &3883539808097606027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3455724894200012604} + - component: {fileID: 8496940952803090096} + m_Layer: 6 + m_Name: range_outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3455724894200012604 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3883539808097606027} + 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: 3583371971866016829} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &8496940952803090096 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3883539808097606027} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 3.26, y: 4.88} + newSize: {x: 3.26, y: 4.88} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 3, y: 3} + m_EdgeRadius: 0 --- !u!1 &6208366596957312446 GameObject: m_ObjectHideFlags: 0 @@ -117,6 +175,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 3455724894200012604} - {fileID: 1903134349826740869} - {fileID: 1107632845531990882} m_Father: {fileID: 0} @@ -205,6 +264,7 @@ MonoBehaviour: _attack_damage: 0 _attack_interval: 0 _enemy: {fileID: 0} + rangeOutline: {fileID: 8496940952803090096} --- !u!114 &6252103591577139412 MonoBehaviour: m_ObjectHideFlags: 0 @@ -226,7 +286,7 @@ PrefabInstance: m_Modifications: - target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3} propertyPath: m_RootOrder - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3} propertyPath: m_LocalPosition.x diff --git a/Assets/Prefabs/Buildings/Mill.prefab b/Assets/Prefabs/Buildings/Mill.prefab index 69cdd3b..4952e0b 100644 --- a/Assets/Prefabs/Buildings/Mill.prefab +++ b/Assets/Prefabs/Buildings/Mill.prefab @@ -102,6 +102,7 @@ MonoBehaviour: _attack_damage: 0 _attack_interval: 0 _enemy: {fileID: 0} + rangeOutline: {fileID: 4877144423808268021} _range: 1 _multiplier: 10 --- !u!1 &1371331378727130647 diff --git a/Assets/Prefabs/Buildings/Workshop.prefab b/Assets/Prefabs/Buildings/Workshop.prefab index c7c9d1c..579678a 100644 --- a/Assets/Prefabs/Buildings/Workshop.prefab +++ b/Assets/Prefabs/Buildings/Workshop.prefab @@ -102,6 +102,7 @@ MonoBehaviour: _attack_damage: 0 _attack_interval: 0 _enemy: {fileID: 0} + rangeOutline: {fileID: 4877144423808268021} _range: 1 _multiplier: 10 --- !u!1 &5799165302180276253 diff --git a/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab b/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab index e81bfa1..293ec35 100644 --- a/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab +++ b/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab @@ -134,6 +134,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 4817988606444742094} m_Modifications: + - target: {fileID: -7391144163609056699, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} + propertyPath: _rangeSprite + value: + objectReference: {fileID: 21300000, guid: b14c454dd8569ab4780d0f8a904a110b, type: 3} - target: {fileID: -7391144163609056699, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: _buttonContainer value: @@ -244,11 +248,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -256,15 +260,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -272,15 +276,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -288,7 +292,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} @@ -304,6 +308,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 4817988606444742094} m_Modifications: + - target: {fileID: -7391144163609056699, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} + propertyPath: _rangeSprite + value: + objectReference: {fileID: 21300000, guid: b14c454dd8569ab4780d0f8a904a110b, type: 3} - target: {fileID: -7391144163609056699, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: _buttonContainer value: @@ -410,11 +418,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -422,15 +430,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -438,15 +446,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -454,7 +462,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} @@ -470,6 +478,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 4817988606444742094} m_Modifications: + - target: {fileID: -7391144163609056699, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} + propertyPath: _rangeSprite + value: + objectReference: {fileID: 21300000, guid: b14c454dd8569ab4780d0f8a904a110b, type: 3} - target: {fileID: -7391144163609056699, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: _buttonContainer value: @@ -580,11 +592,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -592,15 +604,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -608,15 +620,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -624,7 +636,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} diff --git a/Assets/Prefabs/UI/BuyableUnitsView/UpgradePlacementButton.prefab b/Assets/Prefabs/UI/BuyableUnitsView/UpgradePlacementButton.prefab index 325ec51..04cdc2b 100644 --- a/Assets/Prefabs/UI/BuyableUnitsView/UpgradePlacementButton.prefab +++ b/Assets/Prefabs/UI/BuyableUnitsView/UpgradePlacementButton.prefab @@ -206,6 +206,7 @@ MonoBehaviour: _buttonContainer: {fileID: 0} _prefab: {fileID: 0} _unitCardInformation: {fileID: 0} + rangeSprite: {fileID: 21300000, guid: b14c454dd8569ab4780d0f8a904a110b, type: 3} --- !u!225 &6913755812382793111 CanvasGroup: m_ObjectHideFlags: 0 @@ -489,9 +490,9 @@ RectTransform: m_Father: {fileID: 7424225105167539335} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 5, y: -47.711605} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 5, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &3554999546265944515 @@ -1211,9 +1212,9 @@ RectTransform: m_Father: {fileID: 7424225105167539335} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 5, y: -26.874405} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 5, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &3610034570124512254 diff --git a/Assets/Prefabs/UI/UnitUpgrade/UnitUpgrade.prefab b/Assets/Prefabs/UI/UnitUpgrade/UnitUpgrade.prefab index f580a4c..f6101e9 100644 --- a/Assets/Prefabs/UI/UnitUpgrade/UnitUpgrade.prefab +++ b/Assets/Prefabs/UI/UnitUpgrade/UnitUpgrade.prefab @@ -178,19 +178,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.970634 objectReference: {fileID: 0} - target: {fileID: 3013207446160532222, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_IsActive @@ -306,19 +306,19 @@ PrefabInstance: objectReference: {fileID: 21300000, guid: 66cd3a50885846743981bc57aa5f7b72, type: 3} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -48.94127 objectReference: {fileID: 0} - target: {fileID: 3013207446742728181, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_IsActive @@ -326,19 +326,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -5 objectReference: {fileID: 0} - target: {fileID: 3921547832887455157, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_SpriteState.m_HighlightedSprite @@ -376,19 +376,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.970634 objectReference: {fileID: 0} - target: {fileID: 3013207446659063112, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_Pivot.x @@ -480,35 +480,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -48.94127 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -5 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} @@ -538,19 +538,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207446160532221, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.970634 objectReference: {fileID: 0} - target: {fileID: 3013207446175879013, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_Sprite @@ -662,35 +662,35 @@ PrefabInstance: objectReference: {fileID: 21300000, guid: 66cd3a50885846743981bc57aa5f7b72, type: 3} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207446742728180, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -48.94127 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3013207447116908153, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -5 objectReference: {fileID: 0} - target: {fileID: 3921547832887455157, guid: 4789f524a7e1b7b40be6fefda32f600e, type: 3} propertyPath: m_SpriteState.m_HighlightedSprite diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index 50f2f48..43fbc85 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -3127,11 +3127,11 @@ PrefabInstance: m_Modifications: - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3139,15 +3139,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3155,7 +3155,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 703543387231767793, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -3231,59 +3231,75 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 907652128862280229, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 907652128862280229, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 907652128862280229, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 907652128862280229, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y value: 1 objectReference: {fileID: 0} - - target: {fileID: 907652128862280229, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchoredPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 907652128862280229, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchoredPosition.y - value: -5 - objectReference: {fileID: 0} - - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x value: 5 objectReference: {fileID: 0} - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x value: 5 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -26.874405 + objectReference: {fileID: 0} + - target: {fileID: 1740692696410812620, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1740692696410812620, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1740692696410812620, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1740692696410812620, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3291,15 +3307,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3307,15 +3323,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3323,15 +3339,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3339,7 +3355,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 3181429381540750253, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -3359,17 +3375,49 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x value: 5 objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -47.711605 + objectReference: {fileID: 0} + - target: {fileID: 4453469705328566160, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4453469705328566160, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4453469705328566160, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4453469705328566160, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4457185042551965567, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4457185042551965567, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4457185042551965567, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4457185042551965567, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} @@ -3495,11 +3543,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721980499987197, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5139721980499987197, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5139721980499987197, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3507,15 +3555,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721980499987197, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -47.711605 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3523,15 +3571,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -26.874405 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3539,55 +3587,75 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -6.0372024 - objectReference: {fileID: 0} - - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchoredPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchoredPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y value: 1 objectReference: {fileID: 0} - - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y value: 1 objectReference: {fileID: 0} + - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -201.6 + objectReference: {fileID: 0} + - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -5 + objectReference: {fileID: 0} + - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x value: 5 objectReference: {fileID: 0} - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -103.3 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6044811384361869331, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6044811384361869332, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6044811384361869332, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6044811384361869332, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6044811384361869332, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 7106892478087422172, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -3607,11 +3675,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892479276285262, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7106892479276285262, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7106892479276285262, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3619,7 +3687,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892479276285262, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -26.874405 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7106892479944355554, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -3671,11 +3739,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938881271752097, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7112938881271752097, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7112938881271752097, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3683,7 +3751,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938881271752097, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -6.0372024 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7488888111208117106, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_IsActive @@ -3707,11 +3775,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3719,15 +3787,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: -47.711605 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -3735,7 +3803,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -103.3 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} diff --git a/Assets/Scripts/Ally/House.cs b/Assets/Scripts/Ally/House.cs index 0a3788a..9701fea 100644 --- a/Assets/Scripts/Ally/House.cs +++ b/Assets/Scripts/Ally/House.cs @@ -1,6 +1,13 @@ -public class House : Building +using UnityEngine; + +public class House : Building { + [SerializeField] + private BoxCollider2D rangeOutline; + public virtual float PopulationGiven => GlobalConfig.Instance.Current.populationGivenPerHouse; + public BoxCollider2D RangeOutline { get => rangeOutline; set => rangeOutline = value; } + public override void LevelStart() { ResourceManager.Instance.MaximumPopulation += PopulationGiven; diff --git a/Assets/Scripts/Ally/ProductionBuilding.cs b/Assets/Scripts/Ally/ProductionBuilding.cs index d1dd136..14f040f 100644 --- a/Assets/Scripts/Ally/ProductionBuilding.cs +++ b/Assets/Scripts/Ally/ProductionBuilding.cs @@ -9,6 +9,8 @@ public abstract class ProductionBuilding : House public override float PopulationGiven => GlobalConfig.Instance.Current.populationGivenPerHouseUpgrade; protected abstract Enum.ResourceNodeType RessourceNodeType { get; } + public int Range { get => _range; set => _range = value; } + private Vector3 _position; public override void Start() @@ -31,7 +33,6 @@ public abstract class ProductionBuilding : House private void ApplyMultiplier(float multiplier) { - int x = 0; for (int i = -_range; i <= _range; i++) { for (int j = -_range; j <= _range; j++) @@ -44,9 +45,7 @@ public abstract class ProductionBuilding : House if (checkResourceType != RessourceNodeType) continue; tile.YieldSpeedMultiplier *= multiplier; - x++; } } - Debug.Log(x); } } \ No newline at end of file diff --git a/Assets/Scripts/UnitTree/UpgradePlacementButton.cs b/Assets/Scripts/UnitTree/UpgradePlacementButton.cs index 75e4623..a10595c 100644 --- a/Assets/Scripts/UnitTree/UpgradePlacementButton.cs +++ b/Assets/Scripts/UnitTree/UpgradePlacementButton.cs @@ -3,6 +3,7 @@ using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; +using static PlasticGui.LaunchDiffParameters; public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler { @@ -24,9 +25,11 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin private GameObject _prefab; [SerializeField] protected UnitCard _unitCardInformation; + [SerializeField] + protected Sprite _rangeSprite; private GameObject _unitGameObject; private Canvas _canvas; - + private static GameObject _outline; public Button Button => _button; @@ -37,8 +40,19 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin { Destroy(gameObject); } + + if (!_outline && _unitGameObject.TryGetComponent(out House currentBuilding)) + { + _outline = new GameObject("Outline"); + + var rend = _outline.AddComponent(); + rend.sprite = _rangeSprite; + rend.sortingLayerName = "Character"; + rend.sortingOrder = 1; + rend.color = new Color(1, 1, 1, 0.2f); + } } - + void Update() { if (_unitCardInformation != null) @@ -65,7 +79,7 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin label.transform.parent.gameObject.SetActive(value > 0); label.text = "" + value; } - + public void OnPointerClick(PointerEventData eventData) { if (CanUse()) @@ -79,7 +93,6 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin Destroy(_buttonContainer); HideTooltip(); } - } public void Initialize(UnitUpgrade unitUpgrade, GameObject parentGameObject, Canvas canvas) @@ -98,11 +111,29 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin { Ally allyObj = _prefab.GetComponent(); TooltipManager.Instance.ShowTooltip(_unitCardInformation, allyObj.Hp.ToString(), allyObj.AttackDamage.ToString(), allyObj.AttackInterval.ToString()); + if (_prefab.TryGetComponent(out ProductionBuilding hoveredBuilding)) + { + if (_unitGameObject.TryGetComponent(out House currentBuilding)) + { + var range = hoveredBuilding.Range * 2 + 1; + currentBuilding.RangeOutline.size = new Vector2(range, range); + + foreach (var rend in currentBuilding.GetAllComponents()) + { + _outline.SetActive(true); + _outline.transform.SetParent(currentBuilding.transform); + _outline.transform.localPosition = new Vector3(); + _outline.transform.localScale = currentBuilding.RangeOutline.size; + rend.material.SetColor("_OutlineColor", Color.blue); + } + } + } } public void OnPointerExit(PointerEventData eventData) { HideTooltip(); + _outline.SetActive(false); } private void HideTooltip() From 74727857ca43ea12bdd7ed788172b70114dad5fb Mon Sep 17 00:00:00 2001 From: Adam Salah Date: Tue, 29 Jul 2025 22:19:29 -0400 Subject: [PATCH 3/3] fixed building outline bug --- .../UnitTree/UpgradePlacementButton.cs | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/Assets/Scripts/UnitTree/UpgradePlacementButton.cs b/Assets/Scripts/UnitTree/UpgradePlacementButton.cs index a10595c..c8e31e9 100644 --- a/Assets/Scripts/UnitTree/UpgradePlacementButton.cs +++ b/Assets/Scripts/UnitTree/UpgradePlacementButton.cs @@ -40,17 +40,6 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin { Destroy(gameObject); } - - if (!_outline && _unitGameObject.TryGetComponent(out House currentBuilding)) - { - _outline = new GameObject("Outline"); - - var rend = _outline.AddComponent(); - rend.sprite = _rangeSprite; - rend.sortingLayerName = "Character"; - rend.sortingOrder = 1; - rend.color = new Color(1, 1, 1, 0.2f); - } } void Update() @@ -106,6 +95,17 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin _unitGameObject = parentGameObject; _canvas = canvas; _unitArt.sprite = unitUpgrade.UpgradeCardArt; + + if (_outline == null && _unitGameObject.TryGetComponent(out House currentBuilding)) + { + _outline = new GameObject("Outline"); + + var rend = _outline.AddComponent(); + rend.sprite = _rangeSprite; + rend.sortingLayerName = "Character"; + rend.sortingOrder = 1; + rend.color = new Color(1, 1, 1, 0.2f); + } } public void OnPointerEnter(PointerEventData eventData) { @@ -133,7 +133,11 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler, IPoin public void OnPointerExit(PointerEventData eventData) { HideTooltip(); - _outline.SetActive(false); + + if (_outline) + { + _outline.SetActive(false); + } } private void HideTooltip()