Exemplo n.º 1
0
    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);
        }
    }
Exemplo n.º 6
0
    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!!");
        }
    }
Exemplo n.º 7
0
    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);
 }