public void AddHistory(DiskHistoryEnum enumerator, ICommand aHistory) { if (mHistory.Count > maxRecord) { mHistory.RemoveAt(0); } mHistory.Add(aHistory); //Debug.Log ("a history item added"); enumerator.SyncHistoryEnum(); }
public void RewriteHistory(DiskHistoryEnum enumerator, ICommand aHistory) { //suppose enumerator.Index at max is mHistory.Count if (enumerator.Index > mHistory.Count - 1) { enumerator.MoveBack(); } while (enumerator.Index + 1 < mHistory.Count) { //Debug.Log (string.Format ("enumerator.index: {0}, mHistory.Count: {1}", enumerator.Index, mHistory.Count)); mHistory.RemoveAt(mHistory.Count - 1); } AddHistory(enumerator, aHistory); }
/// <summary> /// must be hooked outside since Diskcontroller is not a monobehavior /// </summary> public void Start() { mMode = new Util.Mode <DiskController, State> (this); mMode.Set(State.Idle); mHistoryEnum = mHistory.GetEnumerator(); }