mirror of
https://github.com/boudji-ludwig-pett/cnam-geometry-dash.git
synced 2025-04-10 21:47:07 +02:00
feat: navigate between previous and next levels
This commit is contained in:
parent
50945f807d
commit
a070c90e3a
@ -4,6 +4,7 @@
|
||||
"totalJumps": 0,
|
||||
"totalAttempts": 0,
|
||||
"killedCount": 0,
|
||||
"order": 2,
|
||||
"elements": [
|
||||
{
|
||||
"type": "Spike",
|
||||
|
17
Assets/Resources/Levels/StereoMadness.json
Normal file
17
Assets/Resources/Levels/StereoMadness.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "Stereo Madness",
|
||||
"musicName": "StereoMadness",
|
||||
"totalJumps": 0,
|
||||
"totalAttempts": 0,
|
||||
"killedCount": 0,
|
||||
"order": 1,
|
||||
"elements": [
|
||||
{
|
||||
"type": "Spike",
|
||||
"position": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
7
Assets/Resources/Levels/StereoMadness.json.meta
Normal file
7
Assets/Resources/Levels/StereoMadness.json.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b865ad45000d21465bdcfbbca0225616
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -8,6 +8,7 @@ public class Level
|
||||
public int totalJumps;
|
||||
public int totalAttempts;
|
||||
public int killedCount;
|
||||
public int order;
|
||||
|
||||
public static Level CreateFromJSON(string jsonString)
|
||||
{
|
||||
|
@ -1,15 +1,38 @@
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class LevelsLoader : MonoBehaviour
|
||||
{
|
||||
public Level level;
|
||||
public List<Level> levels = new();
|
||||
public Level levelCurrent;
|
||||
|
||||
public void Start()
|
||||
private void Start()
|
||||
{
|
||||
DontDestroyOnLoad(gameObject);
|
||||
LoadAllLevels();
|
||||
levelCurrent = levels[0];
|
||||
}
|
||||
|
||||
TextAsset jsonTextFile = Resources.Load<TextAsset>(Path.Combine("Levels", "BackOnTrack"));
|
||||
level = JsonUtility.FromJson<Level>(jsonTextFile.text);
|
||||
private void LoadAllLevels()
|
||||
{
|
||||
TextAsset[] levelFiles = Resources.LoadAll<TextAsset>("Levels");
|
||||
foreach (TextAsset jsonTextFile in levelFiles)
|
||||
{
|
||||
Level loadedLevel = JsonUtility.FromJson<Level>(jsonTextFile.text);
|
||||
levels.Add(loadedLevel);
|
||||
}
|
||||
levels.Sort((x, y) => x.order.CompareTo(y.order));
|
||||
}
|
||||
|
||||
public void NextLevel()
|
||||
{
|
||||
int currentIndex = levels.IndexOf(levelCurrent);
|
||||
levelCurrent = levels[(currentIndex + 1) % levels.Count];
|
||||
}
|
||||
|
||||
public void PreviousLevel()
|
||||
{
|
||||
int currentIndex = levels.IndexOf(levelCurrent);
|
||||
levelCurrent = levels[(currentIndex - 1 + levels.Count) % levels.Count];
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,19 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class LevelNameText : MonoBehaviour
|
||||
{
|
||||
public LevelsLoader levelsLoader;
|
||||
public Text levelNameText;
|
||||
public LevelsLoader levelsLoader;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
levelsLoader = GameObject.FindGameObjectWithTag("LevelsLoader").GetComponent<LevelsLoader>();
|
||||
levelNameText.text = levelsLoader.level.name;
|
||||
levelNameText.text = levelsLoader.levelCurrent.name;
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
levelNameText.text = levelsLoader.levelCurrent.name;
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,15 @@ using UnityEngine;
|
||||
|
||||
public class LevelNextButton : MonoBehaviour
|
||||
{
|
||||
public LevelsLoader levelsLoader;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
levelsLoader = GameObject.FindGameObjectWithTag("LevelsLoader").GetComponent<LevelsLoader>();
|
||||
}
|
||||
|
||||
public void NextLevel()
|
||||
{
|
||||
// TODO
|
||||
levelsLoader.NextLevel();
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,15 @@ using UnityEngine;
|
||||
|
||||
public class LevelPreviousButton : MonoBehaviour
|
||||
{
|
||||
public LevelsLoader levelsLoader;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
levelsLoader = GameObject.FindGameObjectWithTag("LevelsLoader").GetComponent<LevelsLoader>();
|
||||
}
|
||||
|
||||
public void PreviousLevel()
|
||||
{
|
||||
// TODO
|
||||
levelsLoader.PreviousLevel();
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ public class Player : MonoBehaviour
|
||||
{
|
||||
levelsLoader = GameObject.FindGameObjectWithTag("LevelsLoader").GetComponent<LevelsLoader>();
|
||||
|
||||
audioSource.clip = Resources.Load<AudioClip>(Path.Combine("Musics", levelsLoader.level.musicName));
|
||||
audioSource.clip = Resources.Load<AudioClip>(Path.Combine("Musics", levelsLoader.levelCurrent.musicName));
|
||||
audioSource.Play();
|
||||
|
||||
var mainModule = particle.main;
|
||||
|
Loading…
x
Reference in New Issue
Block a user