예제 #1
0
        /// <summary>
        /// 删除所有NPC身上的BUFF
        /// </summary>
        /// <param name="npcId">Npc identifier.</param>
        public void rmAllBuff(int npcId)
        {
            //去除Npc上
            ServerNPC  npc       = WarServerManager.Instance.npcMgr.GetNPCByUniqueID(npcId);
            List <int> buffArray = npc.getBuffList;
            int        cnt       = buffArray.Count;

            for (int i = 0; i < cnt; ++i)
            {
                int bufId = buffArray[i];

                RtBufData buf = null;
                if (OnWork.TryGetValue(bufId, out buf))
                {
                    buf.OnEnd();
                }

                //去除管理
                OnWork.Remove(bufId);
            }

            npc.rmAllBuff();
        }