public void UpgradeActor() { _actor.LevelUp(FinanceManager.Settings); FinanceManager.UpdateMoney(-_price); _price *= FinanceManager.Settings.ActorUpgradePriceIncrement; UpdateUI(); _purchaseButton.interactable = _price <= FinanceManager.TotalMoney; _upgradeAmount.text = Mathf.Round(_price).ToString(); _capacityAmount.text = Mathf.Round(_actor.Settings.Skill * _actor.SkillMultiplier).ToString(); if (gameObject.tag == "Warehouse") { GameSaveDataController.SetWarehouseState(); } else if (gameObject.tag == "Elevator") { GameSaveDataController.SetElevatorState(); } else if (GetGrandparentTag(this.transform) == "Shaft") { Shaft shaft = transform.parent.GetComponentInParent <Shaft>(); if (shaft != null) { GameSaveDataController.SetShaftState(shaft); } } }
void Awake() { if (mineNumber + 1 < _gameSettings.saveDataNames.Length) { canBuyNewMine = true; } gameObject.name += mineNumber; warehouse = GameObject.FindGameObjectWithTag("Warehouse"); elevator = GameObject.FindGameObjectWithTag("Elevator"); HasSavedMine = GameSaveDataController.GetMineState(this); RebuildSavedMine(); }
public void BuildNextShaft() { var position = mine.shafts[mine.shafts.Count - 1].NextShaftTransform.position; var newObject = Instantiate(shaftPrefab, position, Quaternion.identity); var shaft = newObject.GetComponent <Shaft>(); shaft.name += mine.shafts.Count.ToString(); mine.shafts.Add(shaft); shaft.ShaftManager = this; shaft.Initialize(elevator, mine.GetFinanceManager(), mine.shafts.Count); mine.GetFinanceManager().UpdateMoney(-mine.GetFinanceManager().NextShaftPrice); mine.GetFinanceManager().NextShaftPrice *= settings.ShaftIncrement; GameSaveDataController.SetShaftState(shaft); }
private void Update() { if (Input.GetKeyDown(KeyCode.N)) // to go to next mine from current mine { PlayerPrefs.Save(); if (mine.hasNextMine) { if (GameSaveDataController.currentMineIndex == GameSaveDataController.totalNumberOfMines) { GameSaveDataController.currentMineIndex = 0; } else { GameSaveDataController.currentMineIndex += 1; } } else { GameSaveDataController.currentMineIndex = 0; } Save(); SceneManager.LoadScene(GameSaveDataController.newMineSceneName[GameSaveDataController.currentMineIndex]); GameSaveDataController.UpdateSaveInfo(); } if (!mine.canBuyNewMine) { return; } if (Input.GetKeyDown(KeyCode.B)) // to buy a new mine { if (!GameSaveDataController.mineSaveData[GameSaveDataController.currentMineIndex].nextMineUnlocked) { if (_price <= _financeFinanceManager.TotalMoney) { GameSaveDataController.mineSaveData[GameSaveDataController.currentMineIndex].nextMineUnlocked = true; mine.hasNextMine = true; _financeFinanceManager.UpdateMoney(-_price); } } } }
private bool RebuildSavedMine() { Debug.Log("RebuildSavedMine"); shafts.Add(startShaft); if (HasSavedMine) { Debug.Log("Has saved mine"); // default start money is 620.64 financeManager.SetTotalMoney(GameSaveDataController.mineSaveData[mineNumber].totalMoney); hasNextMine = GameSaveDataController.mineSaveData[mineNumber].nextMineUnlocked; if (GameSaveDataController.mineSaveData[mineNumber].shaftsInMine != null) { for (int s = 0; s < GameSaveDataController.mineSaveData[mineNumber].shaftsInMine.Count; s++) { if (GameSaveDataController.mineSaveData[mineNumber].shaftsInMine[s].nextShaftUnlocked) { shafts[s].ShaftManager.ResimBuildNextShaft(); } } } // need to first add shafts to work out upgrade and capacity per shaft level if (warehouse != null) { warehouse.GetComponent <UpgradeActorUI>().ResimUpgradeActor(GameSaveDataController.mineSaveData[mineNumber].warehouseUpgradePressCount, 0); } if (elevator != null) { elevator.GetComponent <UpgradeActorUI>().ResimUpgradeActor(GameSaveDataController.mineSaveData[mineNumber].elevatorUpgradePressCount, 0); } return(true); } else { GameSaveDataController.CreateNewMineData(gameObject.GetComponent <Mine>(), startShaft); GameSaveDataController.mineSaveData[mineNumber].hasSavedMine = true; return(false); } }
public void BuyShaft() { if (shaft == null) { if (UpgradeActorUI.GetGrandparentTag(this.transform) == "Shaft") { shaft = transform.parent.parent.GetComponentInParent <Shaft>(); } } if (shaft != null) { shaft.hasBoughtNextShaft = true; shaft.ShaftManager.BuildNextShaft(); // record buyinf of next shaft GameSaveDataController.SetBuyNextShaftState(shaft); } else { Debug.Log("Shaft in NextShaft is null!!"); } }
private void Start() { var shaftLevel = ShaftManager.Shafts.Count; // this should be shaftsInMine pos + 1 of shaft if (gameObject.tag == "Warehouse" || gameObject.tag == "Elevator") { shaftLevel = 1; } _price *= Mathf.Pow(FinanceManager.Settings.ActorPriceIncrementPerShaft, shaftLevel); _actor.SkillMultiplier = Mathf.Pow(FinanceManager.Settings.ActorSkillIncrementPerShaft, shaftLevel); if (gameObject.tag == "Warehouse" || gameObject.tag == "Elevator") { int rounds = GameSaveDataController.GetComponentRounds(gameObject.tag); ResimUpgradeActor(rounds, shaftLevel); } else if (GetGrandparentTag(this.transform) == "Shaft") { Shaft shaft = transform.parent.GetComponentInParent <Shaft>(); int rounds = GameSaveDataController.GetShaftSaveData(shaft); int pos = GameSaveDataController.GetShaftPos(shaft); ResimUpgradeActor(rounds, pos); } UpdateUI(); }
private void Update() { GameSaveDataController.SetMineState(mine, mine.GetFinanceManager().TotalMoney, true, mine.hasNextMine); }