Ejemplo n.º 1
0
    public void Init()
    {
        delayCallList1.Clear();
        delayCallList2.Clear();

        _aiList.Clear();
        _aiHash.Clear();
        _current    = null;
        _aiUniqueId = 0;
    }
Ejemplo n.º 2
0
 /// <summary>
 /// 根据唯一ID号移除延迟AI
 /// </summary>
 /// <param name="uniqueId"></param>
 public void RemoveDelayAi(int uniqueId)
 {
     if (_aiHash.ContainsKey(uniqueId))
     {
         _aiList.Remove(_aiHash[uniqueId]);
         _aiHash.Remove(uniqueId);
     }
     else if (_current != null && _current.UniqueId == uniqueId)
     {
         //  REMARK:这里可以进行stop处理
         _current = null;
     }
 }
Ejemplo n.º 3
0
 private void UpdateDelayAi(float dt)
 {
     if (_current == null)
     {
         if (_aiList.Count <= 0)
         {
             return;
         }
         _current = _aiList[0];
         _aiList.RemoveAt(0);
         _aiHash.Remove(_current.UniqueId);
     }
     if (_current.Run())
     {
         _current = null;
     }
 }