// Use this for initialization
    void Start()
    {
        GuiManager.RegisterGenerateWorldPostProgressOp(Manager.ResetActionStacks);
        GuiManager.RegisterLoadWorldPostProgressOp(Manager.ResetActionStacks);

        Manager.RegisterUndoStackUpdateOp(OnUndoStackUpdate);
        Manager.RegisterRedoStackUpdateOp(OnRedoStackUpdate);
    }
    public virtual void Activate(bool state)
    {
        gameObject.SetActive(state);

        if (state)
        {
            ResetSliderControls();

            GuiManager.RegisterLoadWorldPostProgressOp(ResetSliderControls);
        }
        else
        {
            GuiManager.DeregisterLoadWorldPostProgressOp(ResetSliderControls);
        }

        AllowEventInvoke(state);
    }