private bool purchase(purchaseBy coin, int price) { if (coin == purchaseBy.activeCoin) { if (player.Incre.coin.active >= price) { player.Incre.coin.active -= price; return(true); } } else if (coin == purchaseBy.passiveCoin) { if (player.Incre.coin.passive >= price * passivePriceRate) { player.Incre.coin.passive -= price * passivePriceRate; return(true); } } return(false); }
private bool purchase(purchaseBy coin, int price) { if (coin == purchaseBy.activeCoin) { if (player.coin_active >= price) { player.coin_active -= price; return(true); } } else if (coin == purchaseBy.passiveCoin) { if (player.coin_passive >= price * 3) { player.coin_passive -= price * 3; return(true); } } return(false); }
//upgrademode mode1, upgrademode2 mode2, purchaseBy coin public void exec_upgrade(string param) { updateTitle(); updatePrice(); upgrademode mode1 = upgrademode.active; upgrademode2 mode2 = upgrademode2.coinBonus; purchaseBy coin = purchaseBy.activeCoin; if (param.Length != 3) { Debug.Log("param error!"); return; } param = param.ToLower(); char subParam1 = param[0]; //passive or active --> p, a char subParam2 = param[1]; //exe function --> c, e, p char subParam3 = param[2]; //coin mode ---> p, a if (subParam1 == 'p') { mode1 = upgrademode.passive; } else if (subParam1 == 'a') { mode1 = upgrademode.active; } if (subParam2 == 'c') { mode2 = upgrademode2.coinBonus; } else if (subParam2 == 'e') { mode2 = upgrademode2.expBonus; } else if (subParam2 == 'p') { mode2 = upgrademode2.progressBarRate; } if (subParam3 == 'p') { coin = purchaseBy.passiveCoin; } else if (subParam3 == 'a') { coin = purchaseBy.activeCoin; } if (mode1 == upgrademode.active) { switch (mode2) { case upgrademode2.coinBonus: if (player.Incre.coin.A_upgradeLv < upgradeMaxLevel) { if (purchase(coin, bal.getPrice_ActiveCoinBonus())) { player.Incre.coin.A_upgradeLv++; } } break; case upgrademode2.expBonus: if (player.Incre.exp.A_upgradeLv < upgradeMaxLevel) { if (purchase(coin, bal.getPrice_ActiveExpBonus())) { player.Incre.exp.A_upgradeLv++; } } break; case upgrademode2.progressBarRate: if (player.Incre.progress.A_upgradeLv < upgradeMaxLevel) { if (purchase(coin, bal.getPrice_ActiveProgressBarRate())) { player.Incre.progress.A_upgradeLv++; } } break; } } else //passive { switch (mode2) { case upgrademode2.coinBonus: if (player.Incre.coin.P_upgradeLv < upgradeMaxLevel) { if (purchase(coin, bal.getPrice_PassiveCoinBonus())) { player.Incre.coin.P_upgradeLv++; } } break; case upgrademode2.expBonus: if (player.Incre.exp.P_upgradeLv < upgradeMaxLevel) { if (purchase(coin, bal.getPrice_PassiveExpBonus())) { player.Incre.exp.P_upgradeLv++; } } break; case upgrademode2.progressBarRate: if (player.Incre.progress.P_upgradeLv < upgradeMaxLevel && purchase(coin, bal.getPrice_PassiveProgressBarRate())) { player.Incre.progress.P_upgradeLv++; } break; } } updateTitle(); updatePrice(); }