Beispiel #1
0
 public void Reset()
 {
     Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem();
     if (es != null)
     {
         if (m_DictNpceffect != null)
         {
             foreach (var item in m_DictNpceffect)
             {
                 Client.IEntity en = es.FindNPC(item.Key);
                 if (en != null)
                 {
                     en.SendMessage(Client.EntityMessage.EntityCommand_RemoveLinkEffect, item.Value.effectid);
                 }
             }
             m_DictNpceffect.Clear();
         }
     }
 }
Beispiel #2
0
    public void OnSetCampUser(GameCmd.stSetCampUserCmd_S cmd)
    {
        Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem();
        if (es == null)
        {
            return;
        }
        //0是玩家,1是npc
        Client.IEntity entity = null;
        if (cmd.entry_type == 0)
        {
            entity = es.FindPlayer(cmd.entry_id);
        }
        else if (cmd.entry_type == 1)
        {
            entity = es.FindNPC(cmd.entry_id);
        }

        if (entity != null)
        {
            Client.stPropUpdate prop = new Client.stPropUpdate();
            prop.uid        = entity.GetUID();
            prop.nPropIndex = (int)Client.CreatureProp.Camp;
            prop.oldValue   = entity.GetProp((int)Client.CreatureProp.Camp);
            prop.newValue   = (int)cmd.camp;
            entity.SetProp((int)Client.CreatureProp.Camp, (int)cmd.camp);
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.ENTITYSYSTEM_PROPUPDATE, prop);
        }



        if (Client.ClientGlobal.Instance().IsMainPlayer(cmd.entry_id))
        {
            if (cmd.camp == eCamp.CF_Green || cmd.camp == eCamp.CF_Red)
            {
                DataManager.Manager <CampCombatManager>().OnSetCamp();
            }
            //进去就请求刷行数据
            DataManager.Instance.Sender.RequestCampInfoCamp(0, 0, DataManager.Manager <CampCombatManager>().FightingIndex);
        }
    }