コード例 #1
0
    //OnAdd
    private void OnAdd(HistoryActionContainer actionContainer)
    {
        HistoryButton button = Instantiate(buttonPrefab, content);

        button.Init(actionContainer);
        undoLookUp.Add(actionContainer, button);
        button.actionContainer = actionContainer;
    }
コード例 #2
0
    public void Init(HistoryActionContainer container)
    {
        actionContainer = container;
        textName.text   = container.action.Result.ToString();
        imageColor      = image.color;
        Show();

        gameObject.SetActive(true);
    }
コード例 #3
0
    public void Redo(HistoryActionContainer actionContainer)
    {
        undoList.Add(actionContainer);
        redoList.Remove(actionContainer);
        actionContainer.action.Result.Redo();

        if (OnRedo != null)
        {
            OnRedo.Invoke(actionContainer);
        }
    }
コード例 #4
0
    public void Redo()
    {
        if (redoList.Count <= 0)
        {
            return;
        }

        HistoryActionContainer actionContainer = redoList[redoList.Count - 1];

        Redo(actionContainer);
    }
コード例 #5
0
    public void AddAction(Action action)
    {
        HistoryActionContainer actionContainer = new HistoryActionContainer(action);

        undoList.Add(actionContainer);

        if (OnAdd != null)
        {
            OnAdd.Invoke(actionContainer);
        }

        ClearRedoList();
    }
コード例 #6
0
    public void OrderedRedo(HistoryActionContainer actionContainer)
    {
        //Find where it is on the list.
        int index     = redoList.IndexOf(actionContainer);
        int lastIndex = redoList.Count - 1;
        List <HistoryActionContainer> cacheList = new List <HistoryActionContainer>(redoList);

        for (int i = lastIndex; i > index - 1; i--)
        {
            Redo(cacheList[i]);
        }

        OnHistoryChanged.SafeInvoke();
    }
コード例 #7
0
 //On undo
 private void HistoryManager_OnUndo(HistoryActionContainer action)
 {
     undoLookUp[action].Hide();
 }
コード例 #8
0
 //Onredo
 private void HistoryManager_OnRedo(HistoryActionContainer action)
 {
     undoLookUp[action].Show();
 }