Esempio n. 1
0
        public async Task <GameAreaState> PatchArea(GameAreaPatchRequest patchRequest)
        {
            logger.LogInformation("Patching area {}: {} -> {}", IdentityString, State, patchRequest);
            PatchStateIfNeeded(patchRequest.AreaPatchOperations);
            var e = new GameAreaEvent {
                TimelineMessage = patchRequest.TimelineMessage
            };
            await areaEventStream.OnNextAsync(e);

            return(State);
        }
Esempio n. 2
0
        public async Task <IActionResult> PatchArea([FromRoute] Guid id, [FromBody] GameAreaPatchRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            logger.LogInformation("Paching Area {}: {}", id, request);
            id = Guid.Empty; //FIXME
            IGameAreaGrain area           = clusterClient.GetGrain <IGameAreaGrain>(id);
            var            resultingState = await area.PatchArea(request);

            return(Ok(resultingState));
        }