예제 #1
0
 private void ChangeFightTickList()
 {
     if (m_oChangeList.Count == 0)
     {
         return;
     }
     Dictionary <int, FightTickChangeInfo> .Enumerator oEnumerator = m_oChangeList.GetEnumerator();
     while (oEnumerator.MoveNext())
     {
         FightTickChangeInfo oInfo = oEnumerator.Current.Value;
         if (oInfo.m_eChangeType == eChangeType.Add)
         {
             ReallyAddFightTickObj(oInfo);
         }
         else
         {
             ReallyRemoveFightTickObj(oInfo);
         }
         ChangeInfoFactory.Instance.GiveChangeInfo(oInfo);
     }
     oEnumerator.Dispose();
     //for (int Index = 0; Index < m_oChangeList.Count; Index++) {
     //    FightTickChangeInfo oInfo = m_oChangeList[Index];
     //    if (m_oChangeList[Index].m_eChangeType == eChangeType.Add) {
     //        ReallyAddFightTickObj( oInfo );
     //    } else {
     //        ReallyRemoveFightTickObj( oInfo );
     //    }
     //    ChangeInfoFactory.Instance.GiveChangeInfo( oInfo );
     //}
     m_oChangeList.Clear();
 }
예제 #2
0
 public void GiveChangeInfo(FightTickChangeInfo oObject)
 {
     if (oObject == null)
     {
         return;
     }
     m_oChangeInfoQueue.Enqueue(oObject);
 }
예제 #3
0
    public FightTickChangeInfo GetChangeInfo()
    {
        FightTickChangeInfo oOut;

        if (m_oChangeInfoQueue.Count > 0)
        {
            oOut = m_oChangeInfoQueue.Dequeue();
        }
        else
        {
            oOut = new FightTickChangeInfo();
        }
        return(oOut);
    }
예제 #4
0
 private void ReallyRemoveFightTickObj(FightTickChangeInfo oInfo)
 {
     m_oFightTickList.Remove(oInfo.m_nInstanceId);
 }
예제 #5
0
 private void ReallyAddFightTickObj(FightTickChangeInfo oInfo)
 {
     m_oFightTickList.Add(oInfo.m_nInstanceId, oInfo.m_oFightTickObj);
 }