public static GameSummary Create(RectTransform parent, GameManager.Save data) { GameObject pref = ABU.LoadAsset <GameObject> ("core", "GameSummary"); GameObject inst = Instantiate <GameObject> (pref, parent, false); GameSummary summary = inst.GetComponent <GameSummary> (); summary.SetName(data.gameName); summary.SetDifficulty(data.difficulty); summary.SetTime(data.gameTime); summary.SetArea(data.currScene); for (int i = 0; i < summary.damageTypes.Length; i++) { if ((data.dtUnlocks & (1 << (i + 1))) == 0) { summary.damageTypes [i].color = Color.clear; } } for (int i = 0; i < summary.abilities.Length; i++) { if ((data.abilities & (1 << i)) == 0) { summary.abilities [i].color = Color.clear; } } summary.data = data; return(summary); }
public void EndFight(bool win) { SquadsManagement.instance.enemySquad.Clear(); SquadsManagement.instance.userSquad.Clear(); SquadsManagement.instance.allCards.Clear(); foreach (var s in World.Active.Systems) { s.Enabled = false; } foreach (var e in World.Active.EntityManager.GetAllEntities()) { World.Active.EntityManager.DestroyEntity(e); } var instance = GameObject.Instantiate(endGameScreen); instance.transform.parent = GameObject.Find("Canvas").transform; instance.transform.localPosition = Vector3.zero; instance.transform.localScale = Vector3.one; if (win) { instance.transform.GetChild(0).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = GameManager.BinomLevelList[GameManager.currentBinom].ToString(); instance.transform.GetChild(0).GetChild(3).GetComponent <TMPro.TextMeshProUGUI>().text = GameManager.BinomList[GameManager.currentBinom]; SquadManager.UnitStats reward = GameManager.AllChars[GameManager.rewards[GameManager.BinomList[GameManager.currentBinom]][GameManager.BinomLevelList[GameManager.currentBinom] - 1]]; if (!GameManager.availableUnits.Contains(reward)) { GameManager.availableUnits.Add(reward); } GameManager.BinomLevelList[GameManager.currentBinom] += 1; GameManager.gold += (GameManager.currentBinom + 1) * 200; instance.transform.GetChild(0).GetChild(4).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.fileName; instance.transform.GetChild(0).GetChild(4).GetChild(5).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.initiative.ToString(); instance.transform.GetChild(0).GetChild(4).GetChild(6).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.hp.ToString(); instance.transform.GetChild(0).GetChild(4).GetChild(7).GetChild(1).GetComponent <TMPro.TextMeshProUGUI>().text = reward.amountofdice.ToString(); instance.transform.GetChild(0).GetChild(4).GetChild(4).GetComponent <Image>().sprite = Resources.Load <Sprite>("Units/fig/" + reward.fileName); } else { instance.transform.GetChild(1).GetChild(0).GetComponent <TMPro.TextMeshProUGUI>().text = "YOU LOSE"; instance.transform.GetChild(2).localPosition = new Vector3(-20, 120, 0); Destroy(instance.transform.GetChild(0).gameObject); } spawner.unitNames.Clear(); GameManager.Save actualSave = new GameManager.Save() { gold = GameManager.gold, levels = GameManager.BinomLevelList.ToArray() }; actualSave.availableUnits = new string[GameManager.availableUnits.Count]; for (int i = 0; i < actualSave.availableUnits.Length; i++) { actualSave.availableUnits[i] = GameManager.availableUnits[i].fileName; } actualSave.squad = new string[GameManager.userSquad.Count]; for (int i = 0; i < actualSave.squad.Length; i++) { actualSave.squad[i] = GameManager.userSquad[i].fileName; } GameManager.Serialize(actualSave, "gameData"); }
public void performLoad(string saveName) { GameManager.Save save = GameManager.instance.loadSave(saveName); GameManager.instance.loadGame(save); GameManager.instance.loadData(saveName); }