public void SetMegaBonus(GameController.BonusTypes bonusType) { IBonus megaBonus = null; switch (bonusType) { case GameController.BonusTypes.Wheel: megaBonus = new WheelMegaBonus(); break; case GameController.BonusTypes.Ticket: megaBonus = new TicketMegaBonus(); break; case GameController.BonusTypes.Boot: megaBonus = new BootMegaBonus(); break; case GameController.BonusTypes.Magnet: megaBonus = new MagnetMegaBonus(); break; case GameController.BonusTypes.Smile: megaBonus = new SmileMegaBonus(); break; case GameController.BonusTypes.AntiHare: megaBonus = new AntiHareMegaBonus(); break; case GameController.BonusTypes.SandGlass: megaBonus = new SandGlassMegaBonus(); break; case GameController.BonusTypes.Vortex: megaBonus = new VortexBonus(); break; case GameController.BonusTypes.Snow: megaBonus = new SnowBonus(); break; case GameController.BonusTypes.Wrench: break; case GameController.BonusTypes.Cogwheel: break; case GameController.BonusTypes.Heal: megaBonus = new HealMegaBonus(); break; case GameController.BonusTypes.Clew: megaBonus = new ClewMegaBonus(); break; default: throw new ArgumentOutOfRangeException(); } _megaBonusButtons[0].SetMegaBonus(megaBonus); }
public void DropBonus() { if (!TrainingHandler.IsTrainingFinished()) { if ( !MonobehaviorHandler.GetMonobeharior() .GetObject <TrainingHandler>("TrainingHandler") .IsBonusDropEnabled()) { return; } } if (MonobehaviorHandler.GetMonobeharior() .GetObject <BonusTimer>("bonusTimer") .IsAnyBonusActive()) { return; } if (!Randomizer.GetPercentageBasedBoolean((int)_passenger.BonusProbability)) { return; } GameController.BonusTypes bonusType = Randomizer.CalculateValue <GameController.BonusTypes>(_passenger.BonusProbabilities); IBonus drop = null; switch (bonusType) { case GameController.BonusTypes.Wheel: drop = new WheelBonus(); break; case GameController.BonusTypes.Ticket: drop = new TicketBonus(); break; case GameController.BonusTypes.Boot: drop = new BootBonus(); break; case GameController.BonusTypes.Magnet: drop = new MagnetBonus(); break; case GameController.BonusTypes.Smile: drop = new SmileBonus(); break; case GameController.BonusTypes.AntiHare: drop = new AntiHareBonus(); break; case GameController.BonusTypes.SandGlass: drop = new SandGlassBonus(); break; case GameController.BonusTypes.Vortex: drop = new VortexBonus(); break; case GameController.BonusTypes.Snow: drop = new SnowBonus(); break; case GameController.BonusTypes.Wrench: drop = new WrenchBonus(); break; case GameController.BonusTypes.Cogwheel: break; case GameController.BonusTypes.Heal: drop = new HealBonus(); break; default: return; } if (!TrainingHandler.IsTrainingFinished()) { TrainingHandler handler = MonobehaviorHandler.GetMonobeharior() .GetObject <TrainingHandler>("TrainingHandler"); if (handler.IsDropTypeLocked()) { drop = new AntiHareBonus(); } } if (drop != null) { MonobehaviorHandler.GetMonobeharior() .GetObject <BonusTimer>("bonusTimer").DropBonus(drop, _passenger.transform.position); } }
public void SnowDrop(SnowBonus.FreezeData freezeData, bool isVisible) { if (isVisible) { for (int deg = 0; deg < 360; deg += 20) { float radians = deg * Mathf.Deg2Rad; float xPos = freezeData.StartPoint.x + freezeData.Distance * Mathf.Cos(radians); float yPos = freezeData.StartPoint.y + freezeData.Distance * Mathf.Sin(radians); Vector3 dropPosition = new Vector3(xPos, yPos, 0); NormalizePosition(ref dropPosition, false); GameObject drop = Instantiate(_snowDropGameObject); drop.transform.position = new Vector3(xPos, yPos, 0); _spawnedDrops.Add(drop); } } else { for (int i = 0; i < _spawnedDrops.Count; i++) { Destroy(_spawnedDrops[i]); } _spawnedDrops.Clear(); } }
public void DropBonus() { if (!TrainingHandler.IsTrainingFinished()) { if ( !MonobehaviorHandler.GetMonobeharior() .GetObject<TrainingHandler>("TrainingHandler") .IsBonusDropEnabled()) { return; } } if (MonobehaviorHandler.GetMonobeharior() .GetObject<BonusTimer>("bonusTimer") .IsAnyBonusActive()) return; if (!Randomizer.GetPercentageBasedBoolean((int)_passenger.BonusProbability)) return; GameController.BonusTypes bonusType = Randomizer.CalculateValue<GameController.BonusTypes>(_passenger.BonusProbabilities); IBonus drop = null; switch (bonusType) { case GameController.BonusTypes.Wheel: drop = new WheelBonus(); break; case GameController.BonusTypes.Ticket: drop = new TicketBonus(); break; case GameController.BonusTypes.Boot: drop = new BootBonus(); break; case GameController.BonusTypes.Magnet: drop = new MagnetBonus(); break; case GameController.BonusTypes.Smile: drop = new SmileBonus(); break; case GameController.BonusTypes.AntiHare: drop = new AntiHareBonus(); break; case GameController.BonusTypes.SandGlass: drop = new SandGlassBonus(); break; case GameController.BonusTypes.Vortex: drop = new VortexBonus(); break; case GameController.BonusTypes.Snow: drop = new SnowBonus(); break; case GameController.BonusTypes.Wrench: drop = new WrenchBonus(); break; case GameController.BonusTypes.Cogwheel: break; case GameController.BonusTypes.Heal: drop = new HealBonus(); break; default: return; } if (!TrainingHandler.IsTrainingFinished()) { TrainingHandler handler = MonobehaviorHandler.GetMonobeharior() .GetObject<TrainingHandler>("TrainingHandler"); if (handler.IsDropTypeLocked()) { drop = new AntiHareBonus(); } } if (drop != null) { MonobehaviorHandler.GetMonobeharior() .GetObject<BonusTimer>("bonusTimer").DropBonus(drop, _passenger.transform.position); } }
public void ActivateFreezeBonus(SnowBonus.FreezeData data) { _isFreezeBonusActive = true; _freezeData = data; }