82 lines
2.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
using UnityEngine.SceneManagement;
using System;
using UnityEditor;
public class WorldMapManager : MonoBehaviour
{
[SerializeField]
private GameObject[] _buttonList;
[SerializeField]
private Sprite _unlockedIcon;
[SerializeField]
private Sprite _lockedIcon;
[SerializeField]
private Sprite _savedIcon;
private WorldMapSave _worldMapSave;
void Start()
{
//TODO: getMajorSaveFile() //Call et obtiens le chemin du fichier de sauvegarde;
_worldMapSave = new WorldMapSave();
UnlockLevels();
PlayerPrefs.SetInt("LevelToLoad", -1);
}
/**
* Debloque les niveaux deja debloquer dans le fichier de sauvegarde majeur.
*/
public void UnlockLevels()
{
int counterIndex = 0;
foreach(GameObject CurrentLevelButton in _buttonList)
{
if (_worldMapSave.GetLevelState(counterIndex) == WorldMapSave.LevelState.UNLOCKED)
{
CurrentLevelButton.SetActive(true);
ShowUnlockedIcon(CurrentLevelButton);
}
else if (_worldMapSave.GetLevelState(counterIndex) == WorldMapSave.LevelState.LOCKED)
{
//CurrentLevelButton.SetActive(false);
ShowLockedIcon(CurrentLevelButton);
}
else
{
CurrentLevelButton.SetActive(true);
ShowSavedIcon(CurrentLevelButton);
}
counterIndex++;
}
}
private void ShowLockedIcon(GameObject currentLevelButton)
{
currentLevelButton.GetComponent<Image>().sprite = _lockedIcon;
}
private void ShowUnlockedIcon(GameObject currentLevelButton)
{
currentLevelButton.GetComponent<Image>().sprite = _unlockedIcon;
}
private void ShowSavedIcon(GameObject currentLevelButton)
{
currentLevelButton.GetComponent<Image>().sprite = _savedIcon;
}
public void CallLevelWorld1(int levelToCall)
{
string levelToGet = "1-" + levelToCall;
if (_buttonList[levelToCall - 1].GetComponent<Image>().sprite.name != "worldmap_level_locked")
{
PlayerPrefs.SetInt("LevelToLoad", levelToCall);
SceneManager.LoadScene("Game");
//LevelManager.Instance.LoadLevel(levelToGet, true);
}
}
}