void OnMachineUnlocked(MachineInfo machineInfo) { List <ProgressionInfo> progressionInfos = progressionScanner.RequiringUnlockedMachine(machineInfo); ProgressionApplyer.ApplyRewards(progressionInfos); ListPool <ProgressionInfo> .Release(progressionInfos); }
void OnLevelChanged() { long level = CurrencySystem.instance.save.level; if (lastLevel < level) { List <ProgressionInfo> progressionInfos = progressionScanner.RequiringLevelInRange(lastLevel, level); ProgressionApplyer.ApplyRewards(progressionInfos); ListPool <ProgressionInfo> .Release(progressionInfos); } lastLevel = level; }
void OnMoneyChanged() { long money = CurrencySystem.instance.save.money; if (lastMoney < money) { List <ProgressionInfo> progressionInfos = progressionScanner.RequiringMoneyInRange(lastMoney, money); ProgressionApplyer.ApplyRewards(progressionInfos); ListPool <ProgressionInfo> .Release(progressionInfos); } lastMoney = money; }
void LoadComplete() { lastMoney = CurrencySystem.instance.save.money; lastLevel = CurrencySystem.instance.save.level; List <ProgressionInfo> progressionInfos = progressionScanner.RequiringMoneyInRange(0, lastMoney); ProgressionApplyer.ApplyRewards(progressionInfos); ListPool <ProgressionInfo> .Release(progressionInfos); progressionInfos = progressionScanner.RequiringLevelInRange(0, lastLevel); ProgressionApplyer.ApplyRewards(progressionInfos); ListPool <ProgressionInfo> .Release(progressionInfos); MachineInfo[] machineInfos = MachineUnlockSystem.instance.unlocked.ToArray(); for (int i = 0, len = machineInfos.Length; i < len; i++) { progressionInfos = progressionScanner.RequiringUnlockedMachine(machineInfos[i]); ProgressionApplyer.ApplyRewards(progressionInfos); ListPool <ProgressionInfo> .Release(progressionInfos); } }
public void ApplyStartingProgressions() { ProgressionApplyer.ApplyRewards(startingProgressions); }