public Upgrade GetUpgrade(Enums.RoverUpgradeType rover, Enums.ShipUpgradeType ship) { Upgrade[] uT = rover != Enums.RoverUpgradeType.NULL ? roverUpgrades[rover] : shipUpgrades[ship]; Upgrade u = rover != Enums.RoverUpgradeType.NULL ? uT[roverLevels[rover]] : uT[shipLevels[ship]]; return(u); }
public void SetPanelType(UpgradeType type, Enums.RoverUpgradeType r = Enums.RoverUpgradeType.NULL, Enums.ShipUpgradeType s = Enums.ShipUpgradeType.NULL) { PanelUpgradeType = type; roverUpgrade = r; shipUpgrade = s; GetNode <Panel>("Background").GetNode <VBoxContainer>("VBox").GetNode <Button>("UpgradeButton").Text = "Upgrade " + (type.Equals(UpgradeType.ROVER) ? "Rover" : "Ship") + "!"; }
public bool CanUpgrade(Enums.RoverUpgradeType rover, Enums.ShipUpgradeType ship) { Upgrade u = GetUpgrade(rover, ship); foreach (Enums.GameResources r in Enum.GetValues(typeof(Enums.GameResources))) { if (resources[r] < u.Cost[r]) { return(false); } } return(true); }
public void UpgradeTech(Enums.RoverUpgradeType rover, Enums.ShipUpgradeType ship) { //Assumes CanUpgrade() returns true Upgrade u = GetUpgrade(rover, ship); if (rover != Enums.RoverUpgradeType.NULL) { roverLevels[rover]++; } foreach (Enums.GameResources r in Enum.GetValues(typeof(Enums.GameResources))) { resources[r] -= u.Cost[r]; } }
public Upgrade[] this[Enums.RoverUpgradeType index] { get { switch (index) { case Enums.RoverUpgradeType.SPEED: return(Speed); case Enums.RoverUpgradeType.TANK: return(Tank); case Enums.RoverUpgradeType.REGEN: return(Regen); case Enums.RoverUpgradeType.INVENTORY: return(Inventory); default: throw new IndexOutOfRangeException($"Index {index} out of range for {this.GetType().ToString()}"); } } }
public bool IsUpgradeMaxLevel(Enums.RoverUpgradeType rover, Enums.ShipUpgradeType ship) { return(rover != Enums.RoverUpgradeType.NULL ? roverLevels[rover] == MaxUpgradeLevel : shipLevels[ship] == MaxUpgradeLevel); }
public Upgrade GetUpgrade(Enums.RoverUpgradeType rover, Enums.ShipUpgradeType ship) { return(rover != Enums.RoverUpgradeType.NULL ? roverUpgrades[rover][roverLevels[rover]] : shipUpgrades[ship][shipLevels[ship]]); }