From 37bed1fd330f3aa63734016d6929c9fc240505ad Mon Sep 17 00:00:00 2001 From: Crizomb Date: Tue, 28 Jan 2025 04:11:53 +0100 Subject: [PATCH] next level logic --- .../Prefabs/ManagersAndCam/GameManager.prefab | 19 +++++++++++++ Assets/Scenes/LevelsTest/0_Steeve.unity | 22 +-------------- Assets/Scenes/LevelsTest/1_Pumpkin.meta | 8 ++++++ Assets/Scenes/LevelsTest/1_Pumpkin.unity | 4 +-- .../1_Pumpkin/NavMesh-NavMesh Surface 1.asset | Bin 0 -> 22080 bytes .../NavMesh-NavMesh Surface 1.asset.meta | 8 ++++++ .../1_Pumpkin/NavMesh-NavMesh Surface.asset | Bin 0 -> 23024 bytes .../NavMesh-NavMesh Surface.asset.meta | 8 ++++++ Assets/Scripts/Singletons/GameManager.cs | 21 +++++++++++++++ .../UnitScripts/Attacks/AttackHandler.cs | 2 +- .../Attacks/Projectiles/AttackProjectile.cs | 13 ++++++++- .../BehaviorState/AbstractBehaviour.cs | 4 +-- .../BehaviorState/NeutralBehaviour.cs | 17 +++++++++--- .../UnitScripts/Capacities/GolemDefense.cs | 2 +- Assets/Scripts/UnitScripts/HealthHandler.cs | 25 +++++++++++++++--- ProjectSettings/EditorBuildSettings.asset | 15 ++++++++--- 16 files changed, 130 insertions(+), 38 deletions(-) create mode 100644 Assets/Scenes/LevelsTest/1_Pumpkin.meta create mode 100644 Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset create mode 100644 Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset.meta create mode 100644 Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset create mode 100644 Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset.meta diff --git a/Assets/Prefabs/ManagersAndCam/GameManager.prefab b/Assets/Prefabs/ManagersAndCam/GameManager.prefab index 45a4632..8faecb5 100644 --- a/Assets/Prefabs/ManagersAndCam/GameManager.prefab +++ b/Assets/Prefabs/ManagersAndCam/GameManager.prefab @@ -11,6 +11,7 @@ GameObject: - component: {fileID: 2326023822257198758} - component: {fileID: 7444322309943002451} - component: {fileID: -4518928198845659541} + - component: {fileID: 4500885157334573855} m_Layer: 0 m_Name: GameManager m_TagString: Untagged @@ -167,6 +168,24 @@ MonoBehaviour: m_EditorClassIdentifier: EffectsSource: {fileID: 5412373041479583195} MusicSource: {fileID: 6398205375808577097} +--- !u!114 &4500885157334573855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4421777460897078516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3aa2eb264738746aab80b5768ad3206f, type: 3} + m_Name: + m_EditorClassIdentifier: + levelNames: + - 0_Steeve + - 1_Pumpkin + - 2_Plaza + - 3_Flat + - 4_NotVillage --- !u!1 &7552951648969690334 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/LevelsTest/0_Steeve.unity b/Assets/Scenes/LevelsTest/0_Steeve.unity index 6ab417f..19147a0 100644 --- a/Assets/Scenes/LevelsTest/0_Steeve.unity +++ b/Assets/Scenes/LevelsTest/0_Steeve.unity @@ -512,28 +512,8 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4421777460897078516, guid: e0cd2add4bbdcf59a8c46048ba422a58, type: 3} - insertIndex: -1 - addedObject: {fileID: 441349220} + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e0cd2add4bbdcf59a8c46048ba422a58, type: 3} ---- !u!1 &441349216 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4421777460897078516, guid: e0cd2add4bbdcf59a8c46048ba422a58, type: 3} - m_PrefabInstance: {fileID: 300434390} - m_PrefabAsset: {fileID: 0} ---- !u!114 &441349220 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 441349216} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3aa2eb264738746aab80b5768ad3206f, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &687112591 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/LevelsTest/1_Pumpkin.meta b/Assets/Scenes/LevelsTest/1_Pumpkin.meta new file mode 100644 index 0000000..97e752c --- /dev/null +++ b/Assets/Scenes/LevelsTest/1_Pumpkin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a97bd697808077e90a69a5a853ead2b3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/LevelsTest/1_Pumpkin.unity b/Assets/Scenes/LevelsTest/1_Pumpkin.unity index 9c4afb8..34b83ad 100644 --- a/Assets/Scenes/LevelsTest/1_Pumpkin.unity +++ b/Assets/Scenes/LevelsTest/1_Pumpkin.unity @@ -523,7 +523,7 @@ PrefabInstance: - target: {fileID: 1969199041552567758, guid: 6ad55a398b7989c9cbd10b7804913360, type: 3} propertyPath: m_NavMeshData value: - objectReference: {fileID: 23800000, guid: c6990f57c4a41e3fc83259edf4b5788c, type: 2} + objectReference: {fileID: 23800000, guid: 966ab30231f8849209ccf80b87cf41ec, type: 2} - target: {fileID: 1969199041552567758, guid: 6ad55a398b7989c9cbd10b7804913360, type: 3} propertyPath: m_GenerateLinks value: 0 @@ -535,7 +535,7 @@ PrefabInstance: - target: {fileID: 6778669920814834500, guid: 6ad55a398b7989c9cbd10b7804913360, type: 3} propertyPath: m_NavMeshData value: - objectReference: {fileID: 23800000, guid: b131d22c420e393e096e910186a08091, type: 2} + objectReference: {fileID: 23800000, guid: a7dd1adfee813ce63b709cb7c05b4091, type: 2} - target: {fileID: 6778669920814834500, guid: 6ad55a398b7989c9cbd10b7804913360, type: 3} propertyPath: m_GenerateLinks value: 0 diff --git a/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset b/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset new file mode 100644 index 0000000000000000000000000000000000000000..860632725293c64709930308b017b21109b49011 GIT binary patch literal 22080 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 ACjbBd literal 0 HcmV?d00001 diff --git a/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset.meta b/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset.meta new file mode 100644 index 0000000..10ce987 --- /dev/null +++ b/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface 1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 966ab30231f8849209ccf80b87cf41ec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset b/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset new file mode 100644 index 0000000000000000000000000000000000000000..ef6c12b5d795ddf2f1ca634e722a373d4d4323a5 GIT binary patch literal 23024 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 BxHJF& literal 0 HcmV?d00001 diff --git a/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset.meta b/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset.meta new file mode 100644 index 0000000..580df85 --- /dev/null +++ b/Assets/Scenes/LevelsTest/1_Pumpkin/NavMesh-NavMesh Surface.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7dd1adfee813ce63b709cb7c05b4091 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Singletons/GameManager.cs b/Assets/Scripts/Singletons/GameManager.cs index 0de55c9..90f9714 100644 --- a/Assets/Scripts/Singletons/GameManager.cs +++ b/Assets/Scripts/Singletons/GameManager.cs @@ -1,8 +1,14 @@ +using System; using System.Collections; +using System.Collections.Generic; using UnityEngine; +using UnityEngine.SceneManagement; public class GameManager : MonoBehaviourSingletonPersistent { + [SerializeField] private List levelNames; + + int current_level = 0; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { @@ -15,6 +21,7 @@ public class GameManager : MonoBehaviourSingletonPersistent // Delete, use only for Debug if (Input.GetKeyDown(KeyCode.Space)) { + print("OOKOKOKOKOKOK"); StartFightForAll(); } } @@ -27,5 +34,19 @@ public class GameManager : MonoBehaviourSingletonPersistent unit.StartFight(); } } + + + public void GoNextLevel() + { + if (current_level < levelNames.Count) + { + current_level++; + SceneManager.LoadScene(levelNames[current_level]); + return; + } + + throw new Exception("Bro there is no next level like stop pls"); + + } } diff --git a/Assets/Scripts/UnitScripts/Attacks/AttackHandler.cs b/Assets/Scripts/UnitScripts/Attacks/AttackHandler.cs index 4fa7706..fcc69ff 100644 --- a/Assets/Scripts/UnitScripts/Attacks/AttackHandler.cs +++ b/Assets/Scripts/UnitScripts/Attacks/AttackHandler.cs @@ -50,7 +50,7 @@ public class AttackHandler : MonoBehaviour Vector3 knockbackVector = knockbackHorizontalForce * (target.transform.position - transform.position).normalized + knockbackVerticalForce * Vector3.up; - // logic specific if targetUnit is MinecraftUnit + // logic specific if targetUnit is Unit if (targetUnit is MinecraftUnit) { MinecraftUnit minecraftTarget = (MinecraftUnit)targetUnit; diff --git a/Assets/Scripts/UnitScripts/Attacks/Projectiles/AttackProjectile.cs b/Assets/Scripts/UnitScripts/Attacks/Projectiles/AttackProjectile.cs index 8a1ce1e..43c37bd 100644 --- a/Assets/Scripts/UnitScripts/Attacks/Projectiles/AttackProjectile.cs +++ b/Assets/Scripts/UnitScripts/Attacks/Projectiles/AttackProjectile.cs @@ -11,7 +11,18 @@ public class AttackProjectile : AttackHandler public override bool Attack() { // If no target (target is dead an destroyed) - if (!_minecraftUnit.MovementHandler.TargetUnit) _minecraftUnit.MovementHandler.UpdateNearest(); + if (!_minecraftUnit.MovementHandler.TargetUnit) + { + if (_minecraftUnit.IsTeamA) + { + if (GlobalsVariable.AliveUnitsTeamB.Count == 0) return false; + } + else + { + if (GlobalsVariable.AliveUnitsTeamA.Count == 0) return false; + } + _minecraftUnit.MovementHandler.UpdateNearest(); + } float launchAngle = findLaunchAngle(); //print(launchAngle); // If target not reachable diff --git a/Assets/Scripts/UnitScripts/BehaviorState/AbstractBehaviour.cs b/Assets/Scripts/UnitScripts/BehaviorState/AbstractBehaviour.cs index 390d88f..136dba1 100644 --- a/Assets/Scripts/UnitScripts/BehaviorState/AbstractBehaviour.cs +++ b/Assets/Scripts/UnitScripts/BehaviorState/AbstractBehaviour.cs @@ -13,12 +13,12 @@ public abstract class AbstractBehaviour : MonoBehaviour protected abstract void MoveAction(); protected abstract void AttackAction(); - protected MinecraftUnit Unit; + protected MinecraftUnit CurrentMinecraftUnit; void Start() { - Unit = GetComponent(); + CurrentMinecraftUnit = GetComponent(); StartCoroutine(attackUpdate()); StartCoroutine(pathUpdate()); } diff --git a/Assets/Scripts/UnitScripts/BehaviorState/NeutralBehaviour.cs b/Assets/Scripts/UnitScripts/BehaviorState/NeutralBehaviour.cs index 4f3de39..52b5a36 100644 --- a/Assets/Scripts/UnitScripts/BehaviorState/NeutralBehaviour.cs +++ b/Assets/Scripts/UnitScripts/BehaviorState/NeutralBehaviour.cs @@ -5,14 +5,23 @@ public class NeutralBehaviour : AbstractBehaviour [SerializeField] private float distanceGoal = 0.0f; protected override void MoveAction() { - Unit.MovementHandler.UpdateNearest(); - Vector3 targetPos = Unit.MovementHandler.TargetUnit.transform.position; + if (CurrentMinecraftUnit.IsTeamA) + { + if (GlobalsVariable.AliveUnitsTeamB.Count == 0) return; + } + else + { + if (GlobalsVariable.AliveUnitsTeamA.Count == 0) return; + } + + CurrentMinecraftUnit.MovementHandler.UpdateNearest(); + Vector3 targetPos = CurrentMinecraftUnit.MovementHandler.TargetUnit.transform.position; Vector3 goalPos = targetPos + (transform.position - targetPos).normalized * distanceGoal; - Unit.MovementHandler.MoveTowards(goalPos); + CurrentMinecraftUnit.MovementHandler.MoveTowards(goalPos); } protected override void AttackAction() { - //Unit.AttackHandler.Attack(); + //CurrentMinecraftUnit.AttackHandler.Attack(); } } diff --git a/Assets/Scripts/UnitScripts/Capacities/GolemDefense.cs b/Assets/Scripts/UnitScripts/Capacities/GolemDefense.cs index c91f8c4..d5422cd 100644 --- a/Assets/Scripts/UnitScripts/Capacities/GolemDefense.cs +++ b/Assets/Scripts/UnitScripts/Capacities/GolemDefense.cs @@ -12,7 +12,7 @@ public class GolemDefense : BaseCapacity Collider[] hitColliders = Physics.OverlapSphere(transform.position, buffArea.radius, buffArea.includeLayers); foreach (Collider target in hitColliders) { - if (!target.CompareTag("Unit")) continue; + if (!target.CompareTag("CurrentMinecraftUnit")) continue; AbstractUnit targetUnit = target.GetComponent(); if (targetUnit.IsTeamA == _unit.IsTeamA) { diff --git a/Assets/Scripts/UnitScripts/HealthHandler.cs b/Assets/Scripts/UnitScripts/HealthHandler.cs index 1fb005d..353d09d 100644 --- a/Assets/Scripts/UnitScripts/HealthHandler.cs +++ b/Assets/Scripts/UnitScripts/HealthHandler.cs @@ -1,4 +1,6 @@ +using System.Collections.Generic; using UnityEngine; +using UnityEngine.SceneManagement; [RequireComponent(typeof(MinecraftUnit))] public class HealthHandler : MonoBehaviour @@ -43,9 +45,26 @@ public class HealthHandler : MonoBehaviour public void Death(float delay = 0) { DeathSate deathState = _minecraftUnit.AbstractDeath(); - if (deathState == DeathSate.QueenADead) print("TEAM B WIN GG"); - if (deathState == DeathSate.QueenBDead) print("TEAM A WIN GG"); - Destroy(gameObject, delay); + + if (deathState == DeathSate.NotImportant) + { + Destroy(gameObject, delay); + } + + GlobalsVariable.AliveUnitsTeamB = new List(); + GlobalsVariable.AliveUnitsTeamA = new List(); + + if (deathState == DeathSate.QueenADead) + { + print("get good, reload current scene"); + SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().name); + } + + if (deathState == DeathSate.QueenBDead) + { + print("GG going to next scene"); + GameManager.Instance.GoNextLevel(); + } } } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 23cce20..a69da9b 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,12 +5,21 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 0 - path: Assets/Scenes/Clement.unity - guid: 1a97891ce0a685849849868f0d4b9dfd + - enabled: 1 + path: Assets/Scenes/LevelsTest/0_Steeve.unity + guid: 2c3403c1fdb8d1dcf9b520e66841c95b + - enabled: 1 + path: Assets/Scenes/LevelsTest/1_Pumpkin.unity + guid: f19979b02b35fb34590aaabf38c7fb96 + - enabled: 1 + path: Assets/Scenes/LevelsTest/2_Plaza.unity + guid: 9f44655af04ade9ada0953441ebb0652 - enabled: 1 path: Assets/Scenes/LevelsTest/3_Flat.unity guid: e2d5ca4e4affa49adb640c2abb1bb2e6 + - enabled: 1 + path: Assets/Scenes/LevelsTest/4_NotVillageButFine.unity + guid: bcebc0c8b4fd6cafb970b4449a251d75 m_configObjects: com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 289c1b55c9541489481df5cc06664110, type: 3} m_UseUCBPForAssetBundles: 0