예제 #1
0
 public void ClearTrigger()
 {
     if (m_listTrigger != null)
     {
         // 倒序,可以避免在遍历中玩家移除了BUFF导致的元素丢失问题
         for (int i = m_listTrigger.Count - 1; i >= 0; i--)
         {
             CBuffTriggerMgr.Destroy(m_listTrigger[i]);
         }
         m_listTrigger.Clear();
     }
 }
예제 #2
0
파일: Buff20.cs 프로젝트: mengtest/fs
        private void CreateTrigger(BuffTriggerCsvData data)
        {
            CBuffTrigger buffTri = CBuffTriggerMgr.Create((eBuffTriggerPosType)data.PosType);

            buffTri.m_caster      = m_caster;
            buffTri.m_rec         = m_rec;
            buffTri.m_skillIndex  = m_skillIndex;
            buffTri.m_skillPos    = m_skillPos;
            buffTri.m_extendParam = m_extendParam;
            buffTri.Create(data.Id, string.Empty, m_startPos, m_skillDir);

            if (m_caster != null)
            {
                m_caster.AddTrigger((int)buffTri.GetUid());
            }
        }
예제 #3
0
파일: FspManager.cs 프로젝트: mengtest/fs
        // 正式的游戏逻辑帧
        private void ExecuteFrame(int frameId, FspFrame frameMsg)
        {
            if (frameMsg != null && frameMsg.vkeys != null)
            {
                for (int i = 0; i < frameMsg.vkeys.Count; i++)
                {
                    FspVKey cmd = frameMsg.vkeys[i];
                    // 根据keyid做不同逻辑处理
                    HandleServerCmd(cmd);
                }
            }

            CFrameTimeMgr.Inst.FixedUpdate();
            CCreatureMgr.ExecuteFrame(frameId);
            CSkillMgr.ExecuteFrame(frameId);
            CBuffMgr.ExecuteFrame(frameId);
            CBuffTriggerMgr.ExecuteFrame(frameId);
        }