public string Purchase(PlayerPerk playerPerk = null, bool usePerkCurrency = true) { if (purchased > 0 && !repeatable) { return("Error trying to re-purchase non-repeatable perk"); } if (repeatable && purchased >= limit) { return("Limit reached"); } if (usePerkCurrency && playerPerk != null) { if (playerPerk.GetPerkCurrency() < cost) { return("Insufficient perk currency"); } playerPerk.SpendCurrency(cost); } purchased += 1; return(""); }
//public static void LevelUp(){ instance._LevelUp(); } public void _LevelUp() { PlayerPerk perk = player.GetPlayerPerk(); if (perk != null) { for (int i = 0; i < stats.perkUnlockingAtLevelList.Count; i++) { if (level + 1 == stats.perkUnlockingAtLevelList[i].level) { for (int n = 0; n < stats.perkUnlockingAtLevelList[i].perkIDList.Count; n++) { perk.PurchasePerk(stats.perkUnlockingAtLevelList[i].perkIDList[n], false); } break; } } } level += 1; if (level > 1) { player.GainHitPoint(stats.hitPointGain); player.GainEnergy(stats.energyGain); player.GainPerkCurrency(stats.perkCurrencyGain); TDS.PlayerLevelUp(player); TDS.OnGameMessage("level Up!"); } GainExp(); //call the function to make sure if we under level }
public void EnableAllPerkOnAll() { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; pPerkInstance.unavailableIDList = new List <int>(); } }
public void RemoveIDFromPurchasedList(int ID) { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; pPerkInstance.purchasedIDList.Remove(ID); } }
public void AddIDToAvaiList(int ID) { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; pPerkInstance.unavailableIDList.Remove(ID); } }
public void AddIDToPurchasedList(int ID) { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; if (!pPerkInstance.purchasedIDList.Contains(ID)) { pPerkInstance.purchasedIDList.Add(ID); } } }
public void RemoveIDFromAvaiList(int ID) { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; if (!pPerkInstance.unavailableIDList.Contains(ID)) { pPerkInstance.unavailableIDList.Add(ID); } } }
public void DisableAllPerkOnAll() { List <int> allIDList = new List <int>(); for (int i = 0; i < perkDB.perkList.Count; i++) { allIDList.Add(perkDB.perkList[i].ID); } for (int i = 0; i < serializedObject.targetObjects.Length; i++) { PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; pPerkInstance.unavailableIDList = new List <int>(allIDList); } }
private bool PurchasedListSharesValue(int ID) { if (!serializedObject.isEditingMultipleObjects) { return(true); } PlayerPerk pPerkInstance = (PlayerPerk)serializedObject.targetObjects[0]; bool flag = pPerkInstance.purchasedIDList.Contains(ID); for (int i = 1; i < serializedObject.targetObjects.Length; i++) { pPerkInstance = (PlayerPerk)serializedObject.targetObjects[i]; if (flag != pPerkInstance.purchasedIDList.Contains(ID)) { return(false); } } return(true); }
void Awake() { instance = (PlayerPerk)target; LoadDB(); }
public void SetPlayerPerk(PlayerPerk pPerk) { perk = pPerk; }