Пример #1
0
 private void OnCreateGameEvent(CreateGameEvent createGameEvent)
 {
     StartCoroutine(CreateMap(() =>
     {
         MessageHub.Instance.Publish(new MapCreatedEvent(null)
         {
             Map = _map
         });
     }));
 }
Пример #2
0
 private static void CreateGame()
 {
     using (IEventStream stream = _store.OpenStream(_gameId, 0))
     {
         // create game
         var @event = new CreateGameEvent();
         stream.Add(new EventMessage {
             Body = @event
         });
         stream.CommitChanges(Guid.NewGuid());
     }
     CreateCastle(_castleId);
 }
Пример #3
0
        private void ResponseParse(AbstractMessage response)
        {
            if (response is LoginResponse)
            {
                Guid userID = (response as LoginResponse).UserID;
                curUser = userID;

                GetLoginEvent.Invoke(userID);
            }
            else if (response is CreateGameResponse)
            {
                Guid gameID = (response as CreateGameResponse).GameID;
                curGame = gameID;

                CreateGameEvent?.Invoke(gameID);
            }
            else if (response is GameListResponse)
            {
                GetGameListEvent?.Invoke((response as GameListResponse).GameList);
            }
            else if (response is SendMazeResponse)
            {
                SendMazeEvent?.Invoke();
            }
            else if (response is YourStep)
            {
                YourStepEvent?.Invoke();
            }
            else if (response is SendStartPositionResponce)
            {
                SendPointEvent?.Invoke();
            }
            else if (response is MoveObjectResponse)
            {
                MoveObjectEvent?.Invoke((bool)(response as MoveObjectResponse).IsMoved);
            }
            else if (response is GiveMaze)
            {
                GiveMazeEvent?.Invoke();
            }
            else if (response is GivePoint)
            {
                GivePointEvent?.Invoke();
            }
            //else if (response is CumulativeResponse)
            //{
            //    foreach (var resp in (response as CumulativeResponse).ResponseList)
            //    {
            //        ResponseParse(resp);
            //    }
            //}
            else if (response is GameFinished)
            {
                if ((response as GameFinished).Winner.CompareTo(curUser) == 0)
                {
                    GameIsFinishedEvent?.Invoke("Вы победили", (response as GameFinished).FullMaze);
                }
                else
                {
                    GameIsFinishedEvent?.Invoke("Вы проиграли", (response as GameFinished).FullMaze);
                }
            }
            else
            {
                throw new Exception("Неизвестный пакет: " + response.GetType());
            }
        }
Пример #4
0
 public void OnEvent(CreateGameEvent args)
 {
     _createAction.Start();
 }