From d10677db6d65b976f99fd8a2f00b805415555190 Mon Sep 17 00:00:00 2001 From: Felix Boucher Date: Wed, 24 May 2023 18:49:28 -0400 Subject: [PATCH] tweaks to LevelManager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit le fait qu'il faille updater des tiles du tilemap posait un réel problème création d'un système d'héritage pour que les game objects et les tiles puissent cohabiter dans une même game loop - ILevelObject contient des fonctions de start, de destroy, d'update, d'égalité et une position - LevelTile et LevelObject héritent de ILevelObject et peuvent être hérité par des tiles ou des MonoBehaviours. - le level manager est un monobehaviour singleton qui update tous les ILevelObjects à chaque frame. --- Assets/LevelManager class diagram.png | Bin 0 -> 112439 bytes Assets/LevelManager class diagram.png.meta | 147 ++++++++++++++++++ Assets/Scripts/LevelEditor/SpawnerTile.cs | 43 +++-- Assets/Scripts/LevelManager/Extensions.cs | 9 ++ .../Scripts/LevelManager/Extensions.cs.meta | 11 ++ Assets/Scripts/LevelManager/ILevelObject.cs | 9 +- Assets/Scripts/LevelManager/LevelManager.cs | 61 +++++--- Assets/Scripts/LevelManager/LevelTile.cs | 54 +++++++ Assets/Scripts/LevelManager/LevelTile.cs.meta | 11 ++ .../LevelManager/SingletonBehaviour.cs | 16 ++ .../LevelManager/SingletonBehaviour.cs.meta | 11 ++ Assets/Scripts/Tiles/LevelObject.cs | 22 +++ Assets/Scripts/Tiles/LevelObject.cs.meta | 11 ++ Assets/Scripts/Tiles/ResourceTile.cs | 53 ++++--- Assets/Tests/Playmode/TestLevelManager.cs | 1 + 15 files changed, 410 insertions(+), 49 deletions(-) create mode 100644 Assets/LevelManager class diagram.png create mode 100644 Assets/LevelManager class diagram.png.meta create mode 100644 Assets/Scripts/LevelManager/Extensions.cs create mode 100644 Assets/Scripts/LevelManager/Extensions.cs.meta create mode 100644 Assets/Scripts/LevelManager/LevelTile.cs create mode 100644 Assets/Scripts/LevelManager/LevelTile.cs.meta create mode 100644 Assets/Scripts/LevelManager/SingletonBehaviour.cs create mode 100644 Assets/Scripts/LevelManager/SingletonBehaviour.cs.meta create mode 100644 Assets/Scripts/Tiles/LevelObject.cs create mode 100644 Assets/Scripts/Tiles/LevelObject.cs.meta diff --git a/Assets/LevelManager class diagram.png b/Assets/LevelManager class diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..e2c161f5d6692bfc1a54a56364ebf4dbbc965a65 GIT binary patch literal 112439 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 +public class LevelManager : SingletonBehaviour { - public event System.Action Added; - public event System.Action Removed; + public event Action Added; + public event Action Removed; + private List toAdd; + private List toRemove; private List levelObjects; public LevelManager() { + toAdd = new List(); + toRemove = new List(); levelObjects = new List(); } public void Add(ILevelObject levelObject) { - if (levelObjects.Contains(levelObject)) return; - levelObjects.Add(levelObject); - Added?.Invoke(levelObject); + if (levelObjects.Exists(obj => obj.Equals(levelObject))) return; + toAdd.Add(levelObject); } public void Remove(ILevelObject levelObject) { if (!levelObjects.Contains(levelObject)) return; - levelObjects.Remove(levelObject); - Removed?.Invoke(levelObject); + toRemove.Add(levelObject); } public void Clear() { - levelObjects.RemoveAll(obj => - { - Removed?.Invoke(obj); - return true; - }); + toAdd.Clear(); + toRemove.Clear(); + levelObjects.Clear(); } - public T Get(System.Func predicate = default) where T : ILevelObject + public T Get(Func predicate = null) where T : ILevelObject { - if (predicate == default) predicate = (t) => true; + if (predicate == null) predicate = (t) => true; return (T)levelObjects.Find(t => t is T t1 && predicate(t1)); } - public List GetAll(System.Func predicate = default) where T : ILevelObject + public List GetAll(Func predicate = null) where T : ILevelObject { - if (predicate == default) predicate = (t) => true; + if (predicate == null) predicate = (t) => true; List ret = new List(); foreach (var t in levelObjects) if (t is T t1 && predicate(t1)) ret.Add(t1); return ret; } - public int Count(Func predicate = default) where T : ILevelObject + public int Count(Func predicate = null) where T : ILevelObject { return GetAll(predicate).Count; } - public bool Has(System.Func predicate = default) + public bool Has(Func predicate = null) { - if (predicate == default) predicate = (t) => true; + if (predicate == null) predicate = (t) => true; return levelObjects.Exists(t => t is T && predicate((T)t)); } + + void Update() + { + levelObjects.ForEach(obj => obj.LevelUpdate()); + + toAdd.ForEach(tile => + { + levelObjects.Add(tile); + Added?.Invoke(tile); + tile.LevelStart(); + }); + toAdd.Clear(); + + toRemove.ForEach(tile => + { + levelObjects.Remove(tile); + Removed?.Invoke(tile); + tile.LevelDestroy(); + }); + toRemove.Clear(); + } } \ No newline at end of file diff --git a/Assets/Scripts/LevelManager/LevelTile.cs b/Assets/Scripts/LevelManager/LevelTile.cs new file mode 100644 index 0000000..1b97a91 --- /dev/null +++ b/Assets/Scripts/LevelManager/LevelTile.cs @@ -0,0 +1,54 @@ +using UnityEngine; +using UnityEngine.Tilemaps; + +/// +/// can be inherited by tiles in order to be added to the level manager +/// +public abstract class LevelTile : TileBase, ILevelObject +{ + [SerializeField] + private Sprite _sprite; + public Vector3 Position { get; protected set; } + public Tilemap Tilemap { get; private set; } + + public abstract void LevelStart(); + public abstract void LevelDestroy(); + public abstract void LevelUpdate(); + public abstract bool Equals(ILevelObject other); + + public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go) + { + //only execute if application is in play mode + if (!Application.isPlaying) + { + return base.StartUp(position, tilemap, go); + } + + var comp = tilemap.GetComponent(); + + //need to create an instance of the tile, otherwise the position will change for all tiles instead of only this one. + var instance = Instantiate(this); + instance.Position = position; + instance.Tilemap = comp; + + //lambda expression to be used to check if the tile already exists + bool isSameTile(LevelTile tile) => tile.Equals(instance); + + //if tile is exactly the same as before, don't add. + if (LevelManager.Instance.Has(isSameTile)) return base.StartUp(position, tilemap, go); + + + + LevelManager.Instance.Add(instance); + return base.StartUp(position, tilemap, go); + } + public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData) + { + tileData.sprite = _sprite; + tileData.transform.SetTRS(Vector3.zero, Quaternion.identity, Vector3.one); + tileData.color = Color.white; + } + + + +} \ No newline at end of file diff --git a/Assets/Scripts/LevelManager/LevelTile.cs.meta b/Assets/Scripts/LevelManager/LevelTile.cs.meta new file mode 100644 index 0000000..c3f5a26 --- /dev/null +++ b/Assets/Scripts/LevelManager/LevelTile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 758530b8a0ef486448757813ce1eef67 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelManager/SingletonBehaviour.cs b/Assets/Scripts/LevelManager/SingletonBehaviour.cs new file mode 100644 index 0000000..64d3e6b --- /dev/null +++ b/Assets/Scripts/LevelManager/SingletonBehaviour.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +public class SingletonBehaviour : MonoBehaviour where T : SingletonBehaviour +{ + public static T Instance + { + get; + private set; + } + + protected virtual void Awake() + { + if (!Instance) Instance = this as T; + else Destroy(gameObject); + } +} \ No newline at end of file diff --git a/Assets/Scripts/LevelManager/SingletonBehaviour.cs.meta b/Assets/Scripts/LevelManager/SingletonBehaviour.cs.meta new file mode 100644 index 0000000..d7d6d6c --- /dev/null +++ b/Assets/Scripts/LevelManager/SingletonBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a27e0ff408916844d82fcbdf5b332589 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Tiles/LevelObject.cs b/Assets/Scripts/Tiles/LevelObject.cs new file mode 100644 index 0000000..fdc0c53 --- /dev/null +++ b/Assets/Scripts/Tiles/LevelObject.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using UnityEngine.Tilemaps; +using UnityEngine.UIElements; + +/// +/// can be inherited by MonoBehaviours in order to be added to the level manager +/// +public abstract class LevelObject : MonoBehaviour, ILevelObject +{ + public Vector3 Position => transform.position; + void Awake() + { + if (LevelManager.Instance.Has(tile => tile.Position.Approximately(Position))) return; + + LevelManager.Instance.Add(this); + } + + public abstract void LevelStart(); + public abstract void LevelDestroy(); + public abstract void LevelUpdate(); + public abstract bool Equals(ILevelObject other); +} \ No newline at end of file diff --git a/Assets/Scripts/Tiles/LevelObject.cs.meta b/Assets/Scripts/Tiles/LevelObject.cs.meta new file mode 100644 index 0000000..8dd5cdc --- /dev/null +++ b/Assets/Scripts/Tiles/LevelObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b25405eece6b19547806a7eca9f8ce85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Tiles/ResourceTile.cs b/Assets/Scripts/Tiles/ResourceTile.cs index 184c050..5138799 100644 --- a/Assets/Scripts/Tiles/ResourceTile.cs +++ b/Assets/Scripts/Tiles/ResourceTile.cs @@ -5,30 +5,47 @@ using UnityEngine.Tilemaps; [CreateAssetMenu(menuName = "Gather And Defend/Resource Tile")] -public class ResourceTile : TileBase, ILevelObject +public class ResourceTile : LevelTile { [SerializeField] [Tooltip("the prefab of the currency that will be spawned when mining this resource")] private GameObject _yieldPrefab; - [SerializeField] - private Sprite _sprite; - public Vector3 Position { get; private set; } - public Sprite Sprite { get => _sprite; set => _sprite = value; } - public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go) - { - if (!Application.isPlaying) return base.StartUp(position, tilemap, go); - //need to create an instance of the tile, otherwise the position will change for all tiles instead of only this one. - var instance = Instantiate(this); - instance.Position = position; - LevelManager.Instance.Add(instance); - return base.StartUp(position, tilemap, go); - } - public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData) + [SerializeField] + private float _yieldSpeed = 1; //resource per second + private float _yieldCounter = 0; + + public bool Occupied { get; set; } + + public override void LevelDestroy() { - tileData.sprite = _sprite; - tileData.transform.SetTRS(Vector3.zero, Quaternion.identity, Vector3.one); - tileData.color = Color.white; + //nothing + } + + public override void LevelStart() + { + //nothing + } + + public override void LevelUpdate() + { + if (!Occupied) return; + + + _yieldCounter += Time.deltaTime * _yieldSpeed; + if (_yieldCounter < 1) return; + + _yieldCounter = 0; + var yielded = Instantiate(_yieldPrefab, Position, Quaternion.identity); + yielded.transform.SetParent(LevelManager.Instance.transform); + } + public override bool Equals(ILevelObject other) + { + return other is ResourceTile otherRes && + Position == otherRes.Position + && Tilemap == otherRes.Tilemap + && _yieldPrefab == otherRes._yieldPrefab + && _yieldCounter == otherRes._yieldCounter; } } \ No newline at end of file diff --git a/Assets/Tests/Playmode/TestLevelManager.cs b/Assets/Tests/Playmode/TestLevelManager.cs index 655d1f2..9aaae31 100644 --- a/Assets/Tests/Playmode/TestLevelManager.cs +++ b/Assets/Tests/Playmode/TestLevelManager.cs @@ -16,6 +16,7 @@ public class TestLevelManager [SetUp] public void SetUp() { + new GameObject("LevelManager").AddComponent(); _farm = ScriptableObject.CreateInstance(); _farm.name = nameof(_farm);