From 7fd8691033b58bfc48259cad23cf627fbc72c087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20LUDWIG?= Date: Mon, 3 Mar 2025 11:55:22 +0100 Subject: [PATCH] refactor: simplify instantiate prefabs (#41) --- Assets/Resources/Levels/BackOnTrack.json | 4 ++-- Assets/Resources/Levels/StereoMadness.json | 4 ++-- Assets/Scripts/Level.cs | 8 +------- Assets/Scripts/LevelLoader.cs | 17 +++-------------- 4 files changed, 8 insertions(+), 25 deletions(-) diff --git a/Assets/Resources/Levels/BackOnTrack.json b/Assets/Resources/Levels/BackOnTrack.json index 7026e1f..61091f2 100644 --- a/Assets/Resources/Levels/BackOnTrack.json +++ b/Assets/Resources/Levels/BackOnTrack.json @@ -4,12 +4,12 @@ "order": 2, "elements": [ { - "type": 1, + "type": "Spike", "x": -6.684000015258789, "y": -2.8970000743865969 }, { - "type": 1, + "type": "Spike", "x": -3.059999942779541, "y": -2.930000066757202 } diff --git a/Assets/Resources/Levels/StereoMadness.json b/Assets/Resources/Levels/StereoMadness.json index 8156463..13c2eec 100644 --- a/Assets/Resources/Levels/StereoMadness.json +++ b/Assets/Resources/Levels/StereoMadness.json @@ -4,12 +4,12 @@ "order": 1, "elements": [ { - "type": 0, + "type": "Obstacle", "x": -6.684000015258789, "y": -2.8970000743865969 }, { - "type": 1, + "type": "Spike", "x": -3.059999942779541, "y": -2.930000066757202 } diff --git a/Assets/Scripts/Level.cs b/Assets/Scripts/Level.cs index 24e547b..635a3a7 100644 --- a/Assets/Scripts/Level.cs +++ b/Assets/Scripts/Level.cs @@ -6,13 +6,7 @@ using System.Runtime.Serialization; [System.Serializable] public class LevelElement { - public enum Type - { - Obstacle = 0, - Spike = 1 - } - - public Type type; + public string type; public float x; public float y; } diff --git a/Assets/Scripts/LevelLoader.cs b/Assets/Scripts/LevelLoader.cs index b07d002..4a564b3 100644 --- a/Assets/Scripts/LevelLoader.cs +++ b/Assets/Scripts/LevelLoader.cs @@ -5,17 +5,10 @@ public class LevelLoader : MonoBehaviour { public LevelsLoader levelsLoader; public AudioSource audioSource; - public GameObject obstaclePrefab; - public GameObject spikePrefab; - public GameObject winnerWall; - private GameObject GetPrefab(LevelElement.Type type) + private GameObject GetPrefab(string type) { - if (type == LevelElement.Type.Spike) - { - return spikePrefab; - } - return obstaclePrefab; + return Resources.Load("Prefabs/" + type); } private void LoadAudio() @@ -26,10 +19,6 @@ public class LevelLoader : MonoBehaviour private void LoadElements() { - obstaclePrefab = Resources.Load("Prefabs/Obstacle"); - spikePrefab = Resources.Load("Prefabs/Spike"); - winnerWall = Resources.Load("Prefabs/WinnerWall"); - Level current = levelsLoader.levelCurrent; foreach (var element in current.elements) { @@ -43,7 +32,7 @@ public class LevelLoader : MonoBehaviour { lastX += lastElement.x; } - Instantiate(winnerWall, new Vector3(lastX, 0, 0), Quaternion.Euler(0, 0, 90)); + Instantiate(GetPrefab("WinnerWall"), new Vector3(lastX, 0, 0), Quaternion.Euler(0, 0, 90)); } public void Start()