/// アップグレードコストを取得する public static int TowerUpgrade(Tower.eUpgrade type, int lv) { float cost = 0; switch (type) { case Tower.eUpgrade.Range: // 射程範囲 cost = 10 * Mathf.Pow(1.5f, (lv - 1)); break; case Tower.eUpgrade.Firerate: // 連射速度 cost = 15 * Mathf.Pow(1.5f, (lv - 1)); break; case Tower.eUpgrade.Power: // 攻撃威力 cost = 20 * Mathf.Pow(1.5f, (lv - 1)); break; } // 小数点以下を切り捨てる return((int)cost); }
/// アップグレードを実行する void ExecUpgrade(Tower.eUpgrade type) { // コストを取得する int cost = _selTower.GetCost(type); // 所持金を減らす Global.UseMoney(cost); // アップグレード実行 _selTower.Upgrade(type); // 射程範囲カーソルの大きさを反映 _cursorRange.SetVisible(true, _selTower.LvRange); }