// Use this for initialization private void Awake() { if (Inst == null) { Inst = this; } FloorDataManager.Init(); if (!File.Exists(Application.persistentDataPath + "/gamesave.save")) { MdlPlayer.Init(); } else { var savedData = LoadData(); if (savedData != null) { MdlPlayer.Init(savedData); var cash = savedData.Cash; var currenttower = savedData.CurrentTowerId; var floors = savedData.FloorsLvlsInTowers; var tower0 = floors[1]; Debug.Log(string.Format("cash: {0}, currenttower: {1}, towers count: {2}, floors at 1 tower: {3}, 1st floor exp: {4}, id: {5}, HelperLeve: {6}", cash, currenttower, floors.Count, floors[1].Count, tower0[0].Exp, tower0[0].Id, tower0[0].HelperLevel)); } else { Debug.Log("SavedGame was damaged, creating new game"); MdlPlayer.Init(); } } Application.runInBackground = true; }
public void AddLvl() { if (!FloorDataManager.IsMaxLevel(Level)) { Level++; } }
public void AddExp() { MdlPlayer.AddCash(-FloorDataManager.GetFloorNextExpUpgradeCost(this)); Exp++; if (Exp >= FloorDataManager.FLOOR_MAX_EXP) { AddLvl(); Exp = 0; } }
private static void CreateFloors() { foreach (var tower in FloorDataManager.GetAllTowers()) { FloorsLvlsInTowers.Add(tower, new List <MdlFloor>()); foreach (var _floor in FloorDataManager.GetAllFloors()) { FloorsLvlsInTowers[tower].Add(new MdlFloor(_floor, 0, 1)); } } }
private void CalculateMultipliedCash() { var baseCash = FloorDataManager.BaseCashOfFloor(_floor.Id); var lvlMultiplier = FloorDataManager.MultiplierOfLevel(_floor.Level); var expMultiplier = _floor.Level != 1 ? _floor.Level * FloorDataManager.FLOOR_MAX_EXP + _floor.Exp : _floor.Exp; var cash = baseCash * lvlMultiplier * expMultiplier; MdlPlayer.AddCash(cash); _owner.RebuildWidgets(); //RebuildWidget(); }
public void Init(MdlFloor floor, UIFloorsPanel owner) { _owner = owner; _floor = floor; BtnGetIncome = BtnGetIncome.GetComponent <Button>(); UpgradeFloorExp = UpgradeFloorExp.GetComponent <Button>(); _owner.OnCashUpdate += RebuildWidget; //CostToOpen.text = FloorDataManager.GetFloorNextExpUpgradeCost(_floor).ToString(); //CostToOpenInactive.text = FloorDataManager.GetFloorNextExpUpgradeCost(_floor).ToString(); CostToOpen.text = FloorDataManager.CorrectCashName(FloorDataManager.GetFloorNextExpUpgradeCost(_floor)); CostToOpenInactive.text = CostToOpen.text; OpenFloor(); RebuildWidget(); if (_hasHelper()) { GetCash(); } }
private IEnumerator CalculateTime() { _canGetIncome = false; float timeToEarn = FloorDataManager.TimeToEarnOfFloor(_floor.Id); float time = timeToEarn; while (timeToEarn > 0) { timeToEarn -= Time.deltaTime; IncomeProgress.fillAmount = timeToEarn / time; yield return(null); } CalculateMultipliedCash(); _canGetIncome = true; if (_hasHelper()) { StartCoroutine(CalculateTime()); } //StartCoroutine(CalculateTime()); recursion to automatisize the process of getting money, NEED HELPER }
private void RebuildWidget() //call each time when widget data changes to draw new info { var baseCash = FloorDataManager.BaseCashOfFloor(_floor.Id); var multiplier = FloorDataManager.MultiplierOfLevel(_floor.Level); var expMultiplier = _floor.Level != 1 ? _floor.Level * FloorDataManager.FLOOR_MAX_EXP + _floor.Exp : _floor.Exp; //IncomeFromFloor.text = (baseCash * multiplier * expMultiplier).ToString(); IncomeFromFloor.text = FloorDataManager.CorrectCashName(baseCash * multiplier * expMultiplier); TimeToGetIncome.text = "/" + FloorDataManager.TimeToEarnOfFloor(_floor.Id).ToString() + "s"; ExpText.text = _floor.Exp.ToString(); //ExpUpgradeCost.text = FloorDataManager.GetFloorNextExpUpgradeCost(_floor).ToString(); ExpUpgradeCost.text = FloorDataManager.CorrectCashName(FloorDataManager.GetFloorNextExpUpgradeCost(_floor)); if (_floor.Id == 2) { Debug.Log(string.Format("Can i upgrade floor? {0}, my cash: {1}, need to upgrade: {2}", _canExpUp(), MdlPlayer.Cash, FloorDataManager.GetFloorNextExpUpgradeCost(_floor))); } UnlockFloorBtn.SetActive(_canExpUp()); UpgradeFloorExp.interactable = _canExpUp(); ExpProgress.fillAmount = 1 - (_floor.Exp / (float)FloorDataManager.FLOOR_MAX_EXP); UpdateStars(); GameManager.Inst.SaveData(); }
void Update() { MyCash.text = FloorDataManager.CorrectCashName(MdlPlayer.Cash); }
private bool _canExpUp() { return(MdlPlayer.Cash >= FloorDataManager.GetFloorNextExpUpgradeCost(_floor)); }