Esempio n. 1
0
        /// <summary>
        /// Set guild for player character
        /// </summary>
        public void SetGuild(string gameRefID, string characterID, string guildID)
        {
            DbObjectWrapper <DbPlayerCharactersObject> player = GetExistingPlayer(gameRefID);

            if (player == null)
            {
                log.InfoFormat("plaer = {0} not exists", gameRefID);
                return;
            }

            player.Data.SetGuild(characterID, guildID);
            player.Changed = true;

            SelectCharacterClientPeer peer = null;

            if (mApplication.Clients.TryGetPeerForGameRefId(player.Data.GameRefId, out peer))
            {
                if (peer != null)
                {
                    CharacterUpdateEvent evt = new CharacterUpdateEvent {
                        Characters = player.Data.GetInfo()
                    };
                    EventData eventData = new EventData((byte)SelectCharacterEventCode.CharactersUpdate, evt);
                    peer.SendEvent(eventData, new SendParameters());
                }
            }
        }
Esempio n. 2
0
 private static void FireCharacterUpdateEvent(Character character)
 {
     if (CharacterUpdateEvent != null)
     {
         CharacterUpdateEvent.Invoke(new CharacterUpdateEventArgs()
         {
             Character = character
         });
     }
 }
Esempio n. 3
0
        public void SetGuild(string characterId, string guildId)
        {
            DbObjectWrapper <DbPlayerCharactersObject> player = null;

            if (mCache.TryGetPlayerByCharacterId(characterId, out player))
            {
                player.Data.SetGuild(characterId, guildId);
                player.Changed = true;

                SelectCharacterClientPeer peer = null;
                if (mApplication.Clients.TryGetPeerForGameRefId(player.Data.GameRefId, out peer))
                {
                    if (peer != null)
                    {
                        CharacterUpdateEvent evt = new CharacterUpdateEvent {
                            Characters = player.Data.GetInfo()
                        };
                        EventData eventData = new EventData((byte)SelectCharacterEventCode.CharactersUpdate, evt);
                        peer.SendEvent(eventData, new SendParameters());
                    }
                }
            }
        }