Пример #1
0
    public void OnRedo()
    {
        if (redoStack.Count == 0)
        {
            return;
        }
        CanvasSnapshot currentCanvas = redoStack.Pop();

        this.texture = Instantiate(currentCanvas.CanvasTex) as Texture2D;
        undoStack.Push(currentCanvas);

        setTextureToMypaint(currentCanvas.CanvasBuf);
        //TODO set timer

        this.texture.Apply(false);
    }
Пример #2
0
    public void OnUndo()
    {
        if (undoStack.Count == 1)        // undo stack only have base canvas image
        {
            return;
        }

        CanvasSnapshot previousCanvas = undoStack.Pop();
        CanvasSnapshot currentCanvas  = undoStack.Peek();

        this.texture = Instantiate(currentCanvas.CanvasTex) as Texture2D; // make clone of texture to perform deep copy
        redoStack.Push(previousCanvas);                                   // there is no need to deep copy. b/c previousCanvas is popped.

        setTextureToMypaint(currentCanvas.CanvasBuf);
        //TODO set timer

        this.texture.Apply(false);
    }