コード例 #1
0
ファイル: GameSession.cs プロジェクト: djcsdy/ZenMu
 public bool AddPlayer(Player player)
 {
     if (Game.Players.Contains(player.Id))
     {
         _participants.Add(player);
         player.MessageRecieved += OnMessageRecieved;
         player.NameChanged += OnNameChanged;
         return true;
     }
     return false;
 }
コード例 #2
0
ファイル: GameSession.cs プロジェクト: djcsdy/ZenMu
 public void RemovePlayer(Player player)
 {
     _participants.Remove(player);
 }
コード例 #3
0
ファイル: GameSession.cs プロジェクト: djcsdy/ZenMu
 private void OnNameChanged(Player player, string newName)
 {
 }
コード例 #4
0
ファイル: GameSession.cs プロジェクト: djcsdy/ZenMu
        private void ProcessMessage(Player player, string input)
        {
            var receivedEvent = JsonConvert.DeserializeObject<EventWrapper>(input);

            using (var db = MvcApplication.Store.OpenSession())
            {
                switch (receivedEvent.EventType)
                {
                    case EventType.Message:
                        var message = JsonConvert.DeserializeObject<MessageEvent>(receivedEvent.EventBody);
                        if (SceneIsActive(message.SceneId))
                        {
                            message.GameId = Game.Id;
                            SendMessage(receivedEvent);
                        }
                        break;
                }

                db.SaveChanges();
            }
        }
コード例 #5
0
ファイル: GameSession.cs プロジェクト: djcsdy/ZenMu
 private void OnMessageRecieved(Player player, string wireMessage)
 {
     ProcessMessage(player, wireMessage);
 }