Exemple #1
0
        private void BattlResetUpdate(object state)
        {
            lock ( _updateBattlLock )
            {
                if (!_updatingBattl)
                {
                    _updatingBattl = true;

                    totalTimeReset = totalTimeReset - 1000;

                    BroadcastBattlResetTimer(totalTimeReset);

                    if (totalTimeReset == 0)
                    {
                        if (_timerReset != null)
                        {
                            _timerReset.Dispose();
                            totalTimeReset = 0;
                        }

                        BattlState = BattlState.Closed;

                        BattlStart();
                    }

                    _updatingBattl = false;
                }
            }
        }
Exemple #2
0
        public void BattlStart()
        {
            lock ( _battlStateLock )
            {
                if (BattlState == BattlState.Closed)
                {
                    _timer = new Timer(BattlUpdate, null, _updateInterval, _updateInterval);

                    totalTime = MusicBattlWebAPI.Helpers.WebConfigHelper.BattlInterval * battleTotalTime;

                    BattlState = BattlState.Open;

                    BroadcastStateChange(BattlState.Open);
                }
            }
        }
Exemple #3
0
        public void BattlReset()
        {
            lock ( _updateBattlLock )
            {
                if (BattlState == BattlState.Closed)
                {
                    _timerReset = new Timer(BattlResetUpdate, null, _updateInterval, _updateInterval);

                    totalTimeReset = MusicBattlWebAPI.Helpers.WebConfigHelper.BattlInterval * battlTimeResetTime;

                    BattlState = BattlState.Reset;

                    BroadcastStateChange(BattlState.Reset);
                }
            }
        }
Exemple #4
0
        private void BroadcastStateChange(BattlState battlState)
        {
            switch (battlState)
            {
            case BattlState.Open:
                Clients.All.battlStarted();
                break;

            case BattlState.Closed:
                Clients.All.battlEnded(_battl);
                break;

            case BattlState.Reset:
                Clients.All.battlReseted();
                break;

            default:
                break;
            }
        }
Exemple #5
0
        public void BattlEnd()
        {
            lock ( _updateBattlLock )
            {
                if (BattlState == BattlState.Open)
                {
                    if (_timer != null)
                    {
                        _timer.Dispose();
                        totalTime = 0;
                    }

                    if (_timerReset != null)
                    {
                        _timerReset.Dispose();
                        totalTimeReset = 0;
                    }

                    Database db = Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase();

                    IRepository <IBattl>    dalBattl     = new BattlRepository(db);
                    IRepositoryBLL <IBattl> battlRepoBll = new BattlRepositoryBLL(dalBattl);

                    IRepository <IViewBattl>    viewdalBattl      = new ViewBattlRepository(db);
                    IRepositoryBLL <IViewBattl> iViewbattlRepoBll = new ViewBattlRepositoryBLL(viewdalBattl);

                    IBattlBLL battlBLL = new BattlBLL(battlRepoBll, iViewbattlRepoBll);

                    battlBLL.EndActiveBattl();

                    _battl = battlBLL.CreateBattl();

                    BattlState = BattlState.Closed;

                    BroadcastStateChange(BattlState.Closed);
                }
            }
        }
Exemple #6
0
        private void BroadcastStateChange( BattlState battlState )
        {
            switch( battlState )
            {
                case BattlState.Open:
                    Clients.All.battlStarted();
                    break;

                case BattlState.Closed:
                    Clients.All.battlEnded(_battl);
                    break;

                case BattlState.Reset:
                    Clients.All.battlReseted();
                    break;

                default:
                    break;
            }
        }