private MagicMoveRecord GetNewRecord() { MagicMoveRecord temp = null; if (recordsCache.Count > 0) { temp = recordsCache[0]; recordsCache.RemoveAt(0); temp.Clear(); } if (temp == null) { temp = new MagicMoveRecord(); } return(temp); }
public void Clear() { NextPos = NextPos * 0; NextPosTime = -1; CurMagicRecord.Clear(); foreach (MagicMoveRecord tmp in HistoryRecords) { tmp.Clear(); recordsCache.Add(tmp); } HistoryRecords.Clear(); FutureExeMoves.Clear(); CurNeedExeMoves.Clear(); BacktrackingPoints.Clear(); TrackingPoints.Clear(); NeedFixRecords.Clear(); }
private void RemoveRecord(MagicMoveRecord remove) { Records.Remove(remove); remove.Clear(); recordsCache.Add(remove); }