public void Init() { delayCallList1.Clear(); delayCallList2.Clear(); _aiList.Clear(); _aiHash.Clear(); _current = null; _aiUniqueId = 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; } }
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; } }