Beispiel #1
0
        async Task <TaskResult> HandleStateUpdateAsync(UpdateStateRequest request)
        {
            foreach (var command in request.SystemCommands)
            {
                var commandResult = await _systemCommandService.RunCommand(command);

                if (commandResult.Failed)
                {
                    return(commandResult);
                }
            }

            foreach (var createGameObject in request.CreateGameObjects)
            {
                _gameObjectService.CreateGameObject(createGameObject);
            }

            foreach (var updateGameObject in request.UpdateGameObjects)
            {
                _gameObjectService.UpdateGameObject(updateGameObject);
            }

            foreach (var destroyGameObject in request.DestroyGameObjects)
            {
                _gameObjectService.DestroyGameObject(destroyGameObject);
            }

            return(TaskResult.Success());
        }