示例#1
0
        public IActionResult Post([FromBody] CalcScoreRequest request)
        {
            request.Attach();

            // 点数計算
            var response = DiProvider.GetContainer().GetInstance <CalcScoreReceiver>().Receive(request);

            // 進行状況の更新
            var room   = request.Room;
            var player = room.GetPlayer(request.PlayerKey);

            ProgressHelper.Update(request.RoomKey, player.Wind);

            // 通知
            this.NotifyRoomContext(request.RoomKey);

            return(Ok(response));
        }
示例#2
0
        public IActionResult Post([FromBody] CalcScoreRequest request)
        {
            request.Attach();

            // 最後の捨牌を追加
            var room   = request.Room;
            var player = room.GetPlayer(request.PlayerKey);

            room.Context.Hands[player.Wind.ToInt()].Add(room.GetLastDiscardTile());

            // 点数計算
            var response = DiProvider.GetContainer().GetInstance <CalcScoreReceiver>().Receive(request);

            // 進行状況の更新
            ProgressHelper.Update(request.RoomKey, player.Wind);

            // 通知
            this.NotifyRoomContext(request.RoomKey);

            return(Ok(response));
        }