public static void RemoveEffect(int grid_x, int grid_y) { List <TrickData> all = TrickData.mTrickDataLists.FindAll((Predicate <TrickData>)(tdl => { if ((int)tdl.mGridX == grid_x) { return((int)tdl.mGridY == grid_y); } return(false); })); if (all == null || all.Count == 0) { return; } using (List <TrickData> .Enumerator enumerator = all.GetEnumerator()) { while (enumerator.MoveNext()) { TrickData current = enumerator.Current; SceneBattle instance = SceneBattle.Instance; if (UnityEngine.Object.op_Implicit((UnityEngine.Object)instance)) { BattleCore battle = instance.Battle; if (battle != null) { battle.GimmickEventTrickKillCount(current); } } } } List <TrickData> trickDataList = new List <TrickData>(TrickData.mTrickDataLists.Count); using (List <TrickData> .Enumerator enumerator = TrickData.mTrickDataLists.GetEnumerator()) { while (enumerator.MoveNext()) { TrickData current = enumerator.Current; if (!all.Contains(current)) { trickDataList.Add(current); } } } TrickData.mTrickDataLists = trickDataList; }
public static bool RemoveEffect(TrickData trick_data) { if (trick_data == null || !TrickData.mTrickDataLists.Contains(trick_data)) { return(false); } SceneBattle instance = SceneBattle.Instance; if (UnityEngine.Object.op_Implicit((UnityEngine.Object)instance)) { BattleCore battle = instance.Battle; if (battle != null) { battle.GimmickEventTrickKillCount(trick_data); } } TrickData.mTrickDataLists.Remove(trick_data); return(true); }