public override void OnGameLogicTurn() { base.OnGameLogicTurn(); if (SelfBaseUnit.IsPlayer()) { SetAlertDirty(); } foreach (var item in Data) { item.GameLogicTurn(); if (!item.IsValid()) { ClearData.Add(item); } if (item.IsCommingTimeOut()) { item.OnCommingTimeOut(); Callback_OnCommingTimeOut?.Invoke(item); } } for (int i = 0; i < ClearData.Count; ++i) { ClearData[i].OnTimeOut(); Remove(ClearData[i]); } ClearData.Clear(); }
public override void GameLogicTurn() { base.GameLogicTurn(); foreach (var item in Data) { item.GameLogicTurn(); if (item.IsOver()) { ClearData.Add(item); } if (item.IsCommingTimeOut()) { item.OnCommingTimeOut(); Callback_OnCommingTimeOut?.Invoke(item); } } for (int i = 0; i < ClearData.Count; ++i) { ClearData[i].OnTimeOut(); RemoveAlert(ClearData[i]); } ClearData.Clear(); }