Merge with main

This commit is contained in:
craftwill 2023-11-13 20:12:17 -05:00
commit 28c9cb85c7
6 changed files with 118 additions and 9 deletions

View File

@ -613,7 +613,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Five Up
m_text: Return Map
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@ -1891,7 +1891,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Return
m_text: Retry
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}

View File

@ -2561,4 +2561,4 @@ PrefabInstance:
RectTransform:
m_CorrespondingSourceObject: {fileID: 1893888152770301339, guid: eb25bde5e3c72d34fbc9095e2c83cdb4, type: 3}
m_PrefabInstance: {fileID: 1388419618220364677}
m_PrefabAsset: {fileID: 0}
m_PrefabAsset: {fileID: 0}

View File

@ -537,6 +537,42 @@ PrefabInstance:
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 1340105976}
- target: {fileID: 1388419616670829464, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_AnchoredPosition.x
value: 828
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829464, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_AnchoredPosition.y
value: -327.58
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 1340105976}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
value: 2
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: WorldReinitialition
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
value: WorldMapManager, GameAssembly
objectReference: {fileID: 0}
- target: {fileID: 1388419616670829465, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
value: UnityEngine.Object, UnityEngine
objectReference: {fileID: 0}
- target: {fileID: 1388419617042242050, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_Pivot.x
value: 0

View File

@ -12,9 +12,12 @@ public class VictoryDefeat : MonoBehaviour
private bool _lastWaveCompleted = false;
private bool _isShowingVictoryOrDefeat = false;
private WorldMapSave _wms;
private void Start()
{
_wms = new WorldMapSave();
_isShowingVictoryOrDefeat = false;
EventAggregator.Instance.GetEvent<LastWaveCompletedEvent>().Attach(HandleLastWaveCompletedEvent);
@ -42,6 +45,7 @@ public class VictoryDefeat : MonoBehaviour
_victoryAnimator.Play("ShowVictoryOrDefeat");
_isShowingVictoryOrDefeat = true;
// win !
_wms.UnlockNextLevel();
}
// Lose if one of the enemies arrives behind our line of defense.
@ -56,4 +60,5 @@ public class VictoryDefeat : MonoBehaviour
}
}
}
}

View File

@ -22,7 +22,9 @@ public class WorldMapManager : MonoBehaviour
void Start()
{
//TODO: getMajorSaveFile() //Call et obtiens le chemin du fichier de sauvegarde;
_worldMapSave = new WorldMapSave();
_worldMapSave.WorldInitialition();
UnlockLevels();
PlayerPrefs.SetInt("LevelToLoad", -1);
@ -54,6 +56,13 @@ public class WorldMapManager : MonoBehaviour
counterIndex++;
}
}
public void WorldReinitialition()
{
_worldMapSave.WorldReinitialition();
}
private void ShowLockedIcon(GameObject currentLevelButton)
{
currentLevelButton.GetComponent<Image>().sprite = _lockedIcon;

View File

@ -1,6 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class WorldMapSave
{
@ -11,21 +13,78 @@ public class WorldMapSave
SAVED
}
private LevelState[] levelUnlocked = { LevelState.UNLOCKED, LevelState.UNLOCKED, LevelState.UNLOCKED, LevelState.UNLOCKED,
LevelState.UNLOCKED, LevelState.SAVED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED };
private LevelState[] levelUnlocked = { LevelState.SAVED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED,
LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED };
public void UnlockNextLevel(int levelNumber)
private string filePath;
public void WorldInitialition()
{
if(levelNumber == 10)
filePath = Application.persistentDataPath + "/data.dat";
if (File.Exists(filePath))
{
//UnlockNextWorld();
ReadData();
}
else
{
levelUnlocked[levelNumber + 1] = LevelState.UNLOCKED;
WriteData();
}
}
public void WriteData()
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream fileStream = File.Create(filePath);
formatter.Serialize(fileStream, levelUnlocked);
fileStream.Close();
}
public void ReadData()
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream fileStream = File.Open(filePath, FileMode.Open);
levelUnlocked = (LevelState[])formatter.Deserialize(fileStream);
fileStream.Close();
}
private int GetSavedLevelIndex()
{
for (int i = 0; i < levelUnlocked.Length; i++)
{
if (levelUnlocked[i] == LevelState.SAVED)
{
return i;
}
}
// If LevelState.SAVED not find
return -1;
}
public void UnlockNextLevel()
{
filePath = Application.persistentDataPath + "/data.dat";
ReadData();
//int actuelLevel = PlayerPrefs.GetInt(LevelToLoad,NoLevel);
//Debug.Log(actuelLevel);
levelUnlocked[GetSavedLevelIndex() + 1] = LevelState.SAVED;
levelUnlocked[GetSavedLevelIndex()] = LevelState.UNLOCKED;
WriteData();
}
public void WorldReinitialition()
{
if (File.Exists(filePath))
{
File.Delete(filePath);
levelUnlocked = new LevelState[] { LevelState.SAVED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED, LevelState.LOCKED };
}
WorldInitialition();
}
public LevelState GetLevelState(int index)
{
return levelUnlocked[index];