public async Task StartDigging(int playerId) { var gameState = await _gameStateDataService.GetGameState(playerId); _diggingService.StartDigging(gameState, GameUpdateData); await _digTimerService.Start(gameState.PlayerId, GameUpdateData); await _gameStateDataService.SaveGameState(gameState); await GameUpdateData(gameState); }
public async Task <List <string> > Tick(int playerId) { var gameState = await _gameStateDataService.GetGameState(playerId); if (gameState.Player.DigState == null) { _diggingService.PauseDigging(gameState); return(new List <string>()); } var messageLists = new List <List <string> >() { HandleBuffs(gameState) , HandlePlayerDeath(gameState) , HandleMonsterDeaths(gameState) , ActivateItems(gameState) , HandlePlayerDeath(gameState) , HandleMonsterDeaths(gameState) , MonsterAttacks(gameState) , HandlePlayerDeath(gameState) , ProgressDigging(gameState) , FindItems(gameState) , MonsterApproach(gameState) }; await _gameStateDataService.SaveGameState(gameState); return(messageLists.SelectMany(m => m).Where(m => !string.IsNullOrEmpty(m)).ToList()); }