From b57efc49a8f4ad8105a85f55e0e45b1b8b17f813 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sat, 22 Jul 2023 14:21:44 -0400 Subject: [PATCH] Ajout d'instructions pour la configuration de la vague d'ennemi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changé le nom de classe de LevelConfig vers WaveConfig afin d'éviter une confusion avec le LevelEditor --- Assets/Editor/WaveConfigCustomInspector.cs | 22 +++++++++++++++++++ .../Editor/WaveConfigCustomInspector.cs.meta | 11 ++++++++++ Assets/LevelEditor/Levels/TestGame.asset | 1 + .../{LevelConfig.cs => WaveConfig.cs} | 8 +++---- ...LevelConfig.cs.meta => WaveConfig.cs.meta} | 0 Assets/Scripts/LevelConfig/WaveObserver.cs | 14 ++++++------ Assets/Scripts/LevelEditor/Level.cs | 4 ++-- Assets/Scripts/Opponent/EnemyType.cs | 2 -- 8 files changed, 47 insertions(+), 15 deletions(-) create mode 100644 Assets/Editor/WaveConfigCustomInspector.cs create mode 100644 Assets/Editor/WaveConfigCustomInspector.cs.meta rename Assets/Scripts/LevelConfig/{LevelConfig.cs => WaveConfig.cs} (82%) rename Assets/Scripts/LevelConfig/{LevelConfig.cs.meta => WaveConfig.cs.meta} (100%) diff --git a/Assets/Editor/WaveConfigCustomInspector.cs b/Assets/Editor/WaveConfigCustomInspector.cs new file mode 100644 index 0000000..0a74656 --- /dev/null +++ b/Assets/Editor/WaveConfigCustomInspector.cs @@ -0,0 +1,22 @@ +using UnityEditor; + +namespace GatherAndDefend.LevelEditor +{ + [CustomEditor(typeof(WaveConfig))] + public class WaveConfigCustomInspector : Editor + { + + public override void OnInspectorGUI() + { + EditorGUILayout.HelpBox(@"How to use : +Créer élément de la liste ConstantSpawn. +Drag l'ennemi choisi dans Enemy et insérer le nombre à créer dans Count +Choisir la durée du jeux en terme de minutes dans GameDuration +L'intervalle de création est déterminé d'après la durée du jeux et le nombre d'ennemi à créer + +Importante consideration : +- Il faut assigner au moins un ennemi avec un Count d'au moins 1 pour jouer.", MessageType.None); + base.OnInspectorGUI(); + } + } +} \ No newline at end of file diff --git a/Assets/Editor/WaveConfigCustomInspector.cs.meta b/Assets/Editor/WaveConfigCustomInspector.cs.meta new file mode 100644 index 0000000..2edbb5e --- /dev/null +++ b/Assets/Editor/WaveConfigCustomInspector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c38e7df17e51a6448682caeaba0f29e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LevelEditor/Levels/TestGame.asset b/Assets/LevelEditor/Levels/TestGame.asset index 887d9f2..3819cd6 100644 --- a/Assets/LevelEditor/Levels/TestGame.asset +++ b/Assets/LevelEditor/Levels/TestGame.asset @@ -220,3 +220,4 @@ MonoBehaviour: _renderLayer: Default _position: {x: 0, y: 0} _scale: {x: 1, y: 1} + _waveConfig: {fileID: 11400000, guid: 21b0f85f7c746974db1e72f2df646f5d, type: 2} diff --git a/Assets/Scripts/LevelConfig/LevelConfig.cs b/Assets/Scripts/LevelConfig/WaveConfig.cs similarity index 82% rename from Assets/Scripts/LevelConfig/LevelConfig.cs rename to Assets/Scripts/LevelConfig/WaveConfig.cs index 288da83..960f433 100644 --- a/Assets/Scripts/LevelConfig/LevelConfig.cs +++ b/Assets/Scripts/LevelConfig/WaveConfig.cs @@ -1,15 +1,15 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; -[CreateAssetMenu(menuName = "Gather And Defend/Levels/LevelConfig")] -public class LevelConfig : ScriptableObject +[CreateAssetMenu(menuName = "Gather And Defend/Levels/WaveConfig")] +public class WaveConfig : ScriptableObject { + [SerializeField] private List _constantSpawn = new List(); [SerializeField] private float _gameDuration = 0; - public List ConstantSpawn + public List ConstantSpawn { get { diff --git a/Assets/Scripts/LevelConfig/LevelConfig.cs.meta b/Assets/Scripts/LevelConfig/WaveConfig.cs.meta similarity index 100% rename from Assets/Scripts/LevelConfig/LevelConfig.cs.meta rename to Assets/Scripts/LevelConfig/WaveConfig.cs.meta diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index 5c70b21..c4bbed6 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -1,4 +1,3 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -6,8 +5,8 @@ public class WaveObserver : Singleton { private List _subjects = new List(); private List _copyConstantSpawn; - private LevelConfig _levelConfig; - public LevelConfig LevelConfig + private WaveConfig _levelConfig; + public WaveConfig LevelConfig { set { @@ -29,14 +28,15 @@ public class WaveObserver : Singleton public void NotifySpawned(SpawnerTile spawnerSubject) { - if (spawnerSubject.Prefab.Equals(_levelConfig.ConstantSpawn[0].GetEnemyObject())) + GameObject paramPrefab = spawnerSubject.Prefab; + if (paramPrefab.Equals(_levelConfig.ConstantSpawn[0].GetEnemyObject())) { int currentCount = 0; for (int i = 0; i < _copyConstantSpawn.Count; i++) { - if(_levelConfig.ConstantSpawn[i].GetEnemyObject() == spawnerSubject.Prefab) + if(_levelConfig.ConstantSpawn[i].GetEnemyObject() == paramPrefab) { - currentCount = _copyConstantSpawn[i]--; + currentCount = _copyConstantSpawn[i] - 1; break; } } @@ -44,7 +44,7 @@ public class WaveObserver : Singleton { foreach (SpawnerTile spawner in _subjects) { - if (spawner.Prefab.Equals(spawnerSubject.Prefab)) + if (spawner.Prefab.Equals(paramPrefab)) { spawner.StopSpawn(); } diff --git a/Assets/Scripts/LevelEditor/Level.cs b/Assets/Scripts/LevelEditor/Level.cs index 62505d5..0fc33b4 100644 --- a/Assets/Scripts/LevelEditor/Level.cs +++ b/Assets/Scripts/LevelEditor/Level.cs @@ -12,7 +12,7 @@ namespace GatherAndDefend.LevelEditor [SerializeField] private List _data = new List(); [SerializeField] - private LevelConfig _waveConfig; + private WaveConfig _waveConfig; public void SaveFromTilemap(Tilemap tilemap) { var data = new TilemapData(); @@ -26,7 +26,7 @@ namespace GatherAndDefend.LevelEditor data.LoadToTilemap(tilemap); } - public LevelConfig WaveConfig { get { return _waveConfig; } } + public WaveConfig WaveConfig { get { return _waveConfig; } } public IEnumerator GetEnumerator() { diff --git a/Assets/Scripts/Opponent/EnemyType.cs b/Assets/Scripts/Opponent/EnemyType.cs index a7f8e3f..8fbe2eb 100644 --- a/Assets/Scripts/Opponent/EnemyType.cs +++ b/Assets/Scripts/Opponent/EnemyType.cs @@ -1,5 +1,3 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; using System;