public void deactivateEffect() { CancelInvoke("decrementEffectTimer"); GE_INDEX = 0; LAST_EFFECT = CURRENT_EFFECT; CURRENT_EFFECT = GOLD_EFFECTS.NONE; goldEffectActive = false; effectTimer = 5; effectTimerCounter = effectTimer; }
/*--- Gold Effect Methods ---*/ #region Gold Effects Functions private void activateEffect() { string itemId = ""; goldEffectActive = true; MersenneTwister random = new MersenneTwister(); int index = random.Next(1, 5); if (!firstCatch) { Debug.Log(TAG + " first catch was " + firstCatch); firstCatch = !firstCatch; Debug.Log(TAG + " first catch is now " + firstCatch); if (effectTimer == 0) effectTimer = 5; switch (index) { case 1: //AndyUtils.LogDebug(TAG, "Index " + index + ": Frenzy"); animGold.gameObject.SetActive(true); animGold.Play("Frenzy"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; case 2: //AndyUtils.LogDebug(TAG, "Index " + index + ": Super Frenzy"); animGold.gameObject.SetActive(true); animGold.Play("Super Frenzy"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; case 3: //AndyUtils.LogDebug(TAG, "Index " + index + ": Double Points"); animGold.gameObject.SetActive(true); animGold.Play("Double"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; case 4: //AndyUtils.LogDebug(TAG, "Index " + index + ": Repellent"); animGold.gameObject.SetActive(true); animGold.Play("Repellent"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; } } // set the item id for the store invetory retrival switch (index) { case 1: // Frenzy //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.FRENZY; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.FRENZY_GOOD.ItemId; break; case 2: // Super Frenzy //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.SUPERFRENZY; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.SUPER_GOOD.ItemId; break; case 3: // Double Points //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.DOUBLE; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.DOUBLE_GOOD.ItemId; break; case 4: // Repellent //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.REPEL; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.REPELLENT_GOOD.ItemId; break; } //AndyUtils.LogDebug(TAG,"now adding to achievements"); achievementTracker.AddProgressToAchievement("Gold Standard", 1.0f); GE_INDEX = index; //AndyUtils.LogDebug(TAG,"now switching on/ Gold effect"); switch (CURRENT_EFFECT) { case GOLD_EFFECTS.FRENZY: achievementTracker.AddProgressToAchievement("Frenzy Fanatic", 1.0f); achievementTracker.AddProgressToAchievement("Fred's Frenzy Bonanaza", 1.0f); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); else effectTimer += 5; break; case GOLD_EFFECTS.SUPERFRENZY: achievementTracker.AddProgressToAchievement("Raining Combos", 1.0f); achievementTracker.AddProgressToAchievement("Super Frenzy Wizard", 1.0f); incrementSuperFrenzyAchievements(); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); else effectTimer += 5; break; case GOLD_EFFECTS.DOUBLE: achievementTracker.AddProgressToAchievement("Twice The Charm", 1.0f); achievementTracker.AddProgressToAchievement("2X Mastery", 1.0f); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); else effectTimer += 5; break; case GOLD_EFFECTS.REPEL: achievementTracker.AddProgressToAchievement("Honor System", 1.0f); achievementTracker.AddProgressToAchievement("No No to Rottens", 1.0f); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); else effectTimer += 5; break; default: break; } //AndyUtils.LogDebug(TAG,"Effect timer length for Gold Effect " + CURRENT_EFFECT + " is " + effectTimer + " seconds."); effectTimerCounter = effectTimer; Invoke("decrementEffectTimer", 1.0f); Invoke("deactivateEffect", (float)effectTimer); }
/*--- Gold Effect Methods ---*/ #region Gold Effects Functions private void activateEffect() { string itemId = ""; goldEffectActive = true; MersenneTwister random = new MersenneTwister(); int index = random.Next(1, 5); if (!firstCatch) { Debug.Log(TAG + " first catch was " + firstCatch); firstCatch = !firstCatch; Debug.Log(TAG + " first catch is now " + firstCatch); if (effectTimer == 0) { effectTimer = 5; } switch (index) { case 1: //AndyUtils.LogDebug(TAG, "Index " + index + ": Frenzy"); animGold.gameObject.SetActive(true); animGold.Play("Frenzy"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; case 2: //AndyUtils.LogDebug(TAG, "Index " + index + ": Super Frenzy"); animGold.gameObject.SetActive(true); animGold.Play("Super Frenzy"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; case 3: //AndyUtils.LogDebug(TAG, "Index " + index + ": Double Points"); animGold.gameObject.SetActive(true); animGold.Play("Double"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; case 4: //AndyUtils.LogDebug(TAG, "Index " + index + ": Repellent"); animGold.gameObject.SetActive(true); animGold.Play("Repellent"); // The delegate is used here to return to the previously // playing clip after the "hit" animation is done playing. animGold.animationCompleteDelegate = AnimFinishedDelegate; break; } } // set the item id for the store invetory retrival switch (index) { case 1: // Frenzy //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.FRENZY; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.FRENZY_GOOD.ItemId; break; case 2: // Super Frenzy //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.SUPERFRENZY; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.SUPER_GOOD.ItemId; break; case 3: // Double Points //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.DOUBLE; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.DOUBLE_GOOD.ItemId; break; case 4: // Repellent //AndyUtils.LogDebug(TAG,"Current Effect Before:" + CURRENT_EFFECT); CURRENT_EFFECT = GOLD_EFFECTS.REPEL; //AndyUtils.LogDebug(TAG,"Current Effect After:" + CURRENT_EFFECT); itemId = AndysApplesAssets.REPELLENT_GOOD.ItemId; break; } //AndyUtils.LogDebug(TAG,"now adding to achievements"); achievementTracker.AddProgressToAchievement("Gold Standard", 1.0f); GE_INDEX = index; //AndyUtils.LogDebug(TAG,"now switching on/ Gold effect"); switch (CURRENT_EFFECT) { case GOLD_EFFECTS.FRENZY: achievementTracker.AddProgressToAchievement("Frenzy Fanatic", 1.0f); achievementTracker.AddProgressToAchievement("Fred's Frenzy Bonanaza", 1.0f); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) { effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); } else { effectTimer += 5; } break; case GOLD_EFFECTS.SUPERFRENZY: achievementTracker.AddProgressToAchievement("Raining Combos", 1.0f); achievementTracker.AddProgressToAchievement("Super Frenzy Wizard", 1.0f); incrementSuperFrenzyAchievements(); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) { effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); } else { effectTimer += 5; } break; case GOLD_EFFECTS.DOUBLE: achievementTracker.AddProgressToAchievement("Twice The Charm", 1.0f); achievementTracker.AddProgressToAchievement("2X Mastery", 1.0f); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) { effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); } else { effectTimer += 5; } break; case GOLD_EFFECTS.REPEL: achievementTracker.AddProgressToAchievement("Honor System", 1.0f); achievementTracker.AddProgressToAchievement("No No to Rottens", 1.0f); if (StoreInventory.GetGoodUpgradeLevel(itemId) < 6) { effectTimer += StoreInventory.GetGoodUpgradeLevel(itemId); } else { effectTimer += 5; } break; default: break; } //AndyUtils.LogDebug(TAG,"Effect timer length for Gold Effect " + CURRENT_EFFECT + " is " + effectTimer + " seconds."); effectTimerCounter = effectTimer; Invoke("decrementEffectTimer", 1.0f); Invoke("deactivateEffect", (float)effectTimer); }