Exemplo n.º 1
0
    public bool Push(Impact pImpact, SPELL_EVENT_ID nID)
    {
        if ((pImpact == null) || (nID >= SPELL_EVENT_ID.SPELL_EVENT_ID_NUMBER) || (nID <= SPELL_EVENT_ID.SPELL_EVENT_ID_INVALID))
        {
            LogManager.LogAssert(null);
        }

        if (m_FreeCache.Count > 0)
        {
            SPELL_EVENT pRet = m_FreeCache[0];
            m_FreeCache.RemoveAt(0);

            pRet.m_pImpact  = pImpact;
            pRet.m_nEventID = nID;
            m_UseList[nID].Add(pRet);
        }
        else
        {
            if (!m_UseList.ContainsKey(nID))
            {
                m_UseList.Add(nID, new List <SPELL_EVENT>());
            }
            SPELL_EVENT pEvent = new SPELL_EVENT();
            pEvent.m_pImpact  = pImpact;
            pEvent.m_nEventID = nID;
            m_UseList[nID].Add(pEvent);
        }

        return(true);
    }
Exemplo n.º 2
0
 public bool HaveEvent(SPELL_EVENT_ID id)
 {
     if ((id >= SPELL_EVENT_ID.SPELL_EVENT_ID_NUMBER) || (id <= SPELL_EVENT_ID.SPELL_EVENT_ID_INVALID))
     {
         return(false);
     }
     if (m_UseList.ContainsKey(id))
     {
         return(m_UseList[id].Count > 0 ? true : false);
     }
     return(false);
 }
Exemplo n.º 3
0
    public List <SPELL_EVENT> GetEventList(SPELL_EVENT_ID id)
    {
        if ((id >= SPELL_EVENT_ID.SPELL_EVENT_ID_NUMBER) || (id <= SPELL_EVENT_ID.SPELL_EVENT_ID_INVALID))
        {
            LogManager.LogAssert(null);
        }
        if (!m_UseList.ContainsKey(id))
        {
            m_UseList.Add(id, new List <SPELL_EVENT>());
        }

        return(m_UseList[id]);
    }
Exemplo n.º 4
0
 public bool Remove(Impact pImpact, SPELL_EVENT_ID nID)
 {
     if ((pImpact == null) || (nID >= SPELL_EVENT_ID.SPELL_EVENT_ID_NUMBER) || (nID <= SPELL_EVENT_ID.SPELL_EVENT_ID_INVALID))
     {
         return(false);
     }
     foreach (var pRet in m_UseList[nID])
     {
         if (pRet.m_pImpact == pImpact)
         {
             m_UseList[nID].Remove(pRet);
             break;
         }
     }
     return(true);
 }
Exemplo n.º 5
0
 public void CleanUp()
 {
     for (int index = 0; index < (int)SPELL_EVENT_ID.SPELL_EVENT_ID_NUMBER; ++index)
     {
         SPELL_EVENT_ID i = (SPELL_EVENT_ID)index;
         while (m_UseList[i].Count > 0)
         {
             List <SPELL_EVENT> it = new List <SPELL_EVENT>();
             it = m_UseList[i];
             SPELL_EVENT p = new SPELL_EVENT();
             p = it[0];
             m_UseList[i].RemoveAt(0);
             Recycle(p);
         }
     }
 }
Exemplo n.º 6
0
 public void CleanUp()
 {
     m_pImpact  = null;
     m_nEventID = SPELL_EVENT_ID.SPELL_EVENT_ID_INVALID;
 }