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; } } }
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); } } }
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); } } }
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; } }
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); } } }
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; } }