private void HandleOfflineProgress() { if ((bool)dataSavingManager.GetOtherValue("UnlockedAuto")) { PlayerData playerData = dataSavingManager.GetPlayerData(); double secondsOffline = (DateTime.Now - (DateTime)dataSavingManager.GetOtherValue("TimeStamp")).TotalSeconds; double blocksKilled; if (playerData.baseDamage >= blockHealth) { blocksKilled = secondsOffline / playerData.baseAttackSpeed; } else { double dps = (1 / playerData.baseAttackSpeed) * playerData.baseDamage; double totalDamage = secondsOffline * dps; blocksKilled = totalDamage / blockHealth; } double offlineReward = blocksKilled * blockKillReward * (double)dataSavingManager.GetOtherValue("OfflineMultiplier"); Debug.LogWarning("seconds offline: " + secondsOffline); dataSavingManager.SetOtherValue("TimeStamp", DateTime.Now); dataSavingManager.Save(); EventManager.TriggerEvent("OfflineProgress", offlineReward); } EventManager.TriggerEvent("BlockStatsUpdate", Tuple.Create(blockHealth, blockKillReward)); }
// Start is called before the first frame update private void Start() { soundManager = GameObject.FindGameObjectWithTag("SoundManager").GetComponent <SoundManager>(); dataSavingManager = GameObject.FindGameObjectWithTag("DataSavingManager").GetComponent <DataSavingManager>(); blockSpawner = GameObject.FindGameObjectWithTag("BlockSpawner").GetComponent <BlockSpawner>(); playerData = dataSavingManager.GetPlayerData(); var purchasedAbilities = dataSavingManager.GetAbilityDictionary().Values.Where(s => s.level > 0).ToList(); purchasedPassives = purchasedAbilities.Where(a => a.abilityType == AbilityType.PASSIVE).ToList(); purchasedActives = purchasedAbilities.Where(a => a.abilityType == AbilityType.ACTIVE).ToList(); transform.position = clickPos; finalMoveSpeed = playerData.baseMoveSpeed; //anim = character.GetComponent<Animator>(); anim = gameObject.transform.GetChild(0).GetComponent <Animator>(); //sprite = character.GetComponent<SpriteRenderer>(); sprite = gameObject.transform.GetChild(0).GetComponent <SpriteRenderer>(); abilityEffectsDict = new Dictionary <int, ParticleSystem>(); appliedAbilities = new Dictionary <string, double>(); purchasedAbility = new UnityAction <object>(PurchasedAbility); EventManager.StartListening("PurchasedAbility", purchasedAbility); toggleAutoMove = new UnityAction <object>(ToggleAutoMove); EventManager.StartListening("ToggleAutoMove", toggleAutoMove); }
private void LoadPlayerStats(object unused) { PlayerData playerData = dataSavingManager.GetPlayerData(); double autoMoveSpeedMult = (double)dataSavingManager.GetOtherValue("AutoMoveSpeedMultiplier"); baseDamage.text = NumberUtils.FormatLargeNumbers(playerData.baseDamage); damageMult.text = NumberUtils.FormatLargeNumbers(playerData.prestigeDmgMultiplier); attackSpeed.text = NumberUtils.FormatLargeNumbers(playerData.baseAttackSpeed); movementSpeed.text = NumberUtils.FormatLargeNumbers(playerData.baseMoveSpeed); autoMovementSpeed.text = NumberUtils.FormatLargeNumbers(playerData.baseMoveSpeed * autoMoveSpeedMult); }
public void ResetNonPrestige() { dataSavingManager.ResetPlayerNonPrestige(); dataSavingManager.Save(); var purchasedAbilities = dataSavingManager.GetAbilityDictionary().Values.Where(s => s.level > 0).ToList(); purchasedPassives = purchasedAbilities.Where(a => a.abilityType == AbilityType.PASSIVE).ToList(); purchasedActives = purchasedAbilities.Where(a => a.abilityType == AbilityType.ACTIVE).ToList(); playerData = dataSavingManager.GetPlayerData(); EventManager.TriggerEvent("PlayerUpgraded"); }