public void GenerateBattleground(MapDataType mapDataType) { Debug.Log("Battleground found!"); if (SkipBattlegrounds) { return; } BattlegroundData newBattleGround = new BattlegroundData(); newBattleGround.Player = WorldMapData.Player; newBattleGround.Enemies = new List <Enemy>(); newBattleGround.Enemies.Add(Resources.Load <GameObject>("Testing/EnemyKnight").GetComponent <Enemy>()); newBattleGround.Enemies.Add(Resources.Load <GameObject>("Testing/EnemyRogue").GetComponent <Enemy>()); newBattleGround.Enemies.Add(Resources.Load <GameObject>("Testing/EnemyWizard").GetComponent <Enemy>()); newBattleGround.CurrentUnitId = 0; newBattleGround.MapInfos = new MapInfos(); newBattleGround.MapInfos.Size = new Vector2(32, 32); newBattleGround.MapInfos.MapData = Resources.Load <ScriptableObject>("MapData/" + mapDataType.ToString()) as MapData; SaveManager.SaveWorldMap(WorldMapData); SaveManager.SaveBattleground(newBattleGround); SaveManager.LoadScene(Scene.Battleground); }
void Awake() { MapManager = GetComponent <MapManager>(); CameraManager = GetComponent <CameraManager>(); ProjectionManager = GetComponent <ProjectionManager>(); CombatUIManager = GameObject.Find("CombatUI").GetComponent <CombatUIManager>(); TargetingManager = GetComponent <TargetingManager>(); if (SaveManager.CheckValidFileSave(Scene.Battleground)) { BattlegroundData = SaveManager.LoadBattleground(); } MapManager.GenerateMaps(BattlegroundData.MapInfos); }
public static void SaveBattleground(BattlegroundData battlegroundData) { FileStream fs = File.Create(BattlegroundSaveFile); BinaryFormatter bf = new BinaryFormatter(); SerializedBattlegroundData gameData = new SerializedBattlegroundData(); gameData.Player = DataSerialization.Serialize(battlegroundData.Player); gameData.Enemies = DataSerialization.Serialize(battlegroundData.Enemies); gameData.MapInfos = DataSerialization.Serialize(battlegroundData.MapInfos); gameData.CurrentUnitId = battlegroundData.CurrentUnitId; bf.Serialize(fs, gameData); fs.Close(); }
public static BattlegroundData LoadBattleground() { if (File.Exists(BattlegroundSaveFile)) { FileStream fs = File.Open(BattlegroundSaveFile, FileMode.Open); if (fs == null || fs.Length == 0) { Debug.Log("Failed to load BattlegroundSaveFile (null or empty)"); return(null); } BinaryFormatter bf = new BinaryFormatter(); SerializedBattlegroundData gameData = (SerializedBattlegroundData)bf.Deserialize(fs); fs.Close(); BattlegroundData battlegroundData = new BattlegroundData(); Dictionary <string, string> skillsDb = DataSerialization.ReadDatabasePathById(skillsDatabasePreset); Dictionary <string, string> itemsDb = DataSerialization.ReadDatabasePathById(itemsDatabasePreset); battlegroundData.Player = DataSerialization.Deserialize <Player>(gameData.Player, skillsDb, itemsDb); battlegroundData.Enemies = DataSerialization.Deserialize <Enemy>(gameData.Enemies, skillsDb, itemsDb); battlegroundData.MapInfos = DataSerialization.Deserialize(gameData.MapInfos, materialsDatabasePreset, battlegroundData.Player, battlegroundData.Enemies); if (battlegroundData.MapInfos.Map != null) { SetCurrentCell(battlegroundData.Player, gameData.Player, battlegroundData.MapInfos.Map); SetCurrentCell(battlegroundData.Enemies, gameData.Enemies, battlegroundData.MapInfos.Map); } battlegroundData.CurrentUnitId = gameData.CurrentUnitId; return(battlegroundData); } else { Debug.Log("(Load) BattlegroundSaveFile doesn't exist!"); return(null); } }