public void Initialize(IProvider <SpecificCountDownTimer> timerProvider, List <BonusType> bonusTypes, SetBonus setBonusAction, Action <BonusType, Action> removeBonusAction)
    {
        _timerProvider = timerProvider;

        SetBonusAction     = setBonusAction;
        _removeBonusAction = removeBonusAction;
        _bonusPauseTimer   = _timerProvider.Get();

        foreach (BonusType type in bonusTypes)
        {
            BonusModel model = new BonusModel(_timerProvider.Get(), type);
            _bonusModels.Add(model);
        }
    }
    private void ResourcesLoaded()
    {
        if (_transitionInfo != null)
        {
            _bonusController = new BonusController();
            _bonusController.Initialize(_timerProvider, _transitionInfo.BonusTypes, OnSetBonus, OnRemoveBonus);
        }
        _roundTimer = _timerProvider.Get();

        FeatureInitializeFinish();

        _roundTimer.StartTimer(_config.GetGameTime(), UpdateTimer, FinishTimer);
        _bonusController.Start();
    }
 public void Destroy()
 {
     _timer.StopTimer();
     _timer = null;
 }
 public BonusModel(SpecificCountDownTimer timer, BonusType type)
 {
     Type   = type;
     _timer = timer;
 }