Exemplo n.º 1
0
    private void ToggleActorOffstage(VoosActor toggleActor)
    {
        bool currentOffstage = toggleActor.GetPreferOffstage();

        if (!toggleActor.IsLockedByAnother() && !toggleActor.IsParentedToAnotherActor())
        {
            undoStack.PushUndoForActor(
                toggleActor,
                $"Toggle offstage for {toggleActor.GetDisplayName()}",
                actor =>
            {
                if (!actor.IsParentedToAnotherActor())
                {
                    actor.SetPreferOffstage(!currentOffstage);
                }
            },
                actor =>
            {
                if (!actor.IsParentedToAnotherActor())
                {
                    actor.SetPreferOffstage(currentOffstage);
                }
            });
            RefreshActorList();
        }
    }
Exemplo n.º 2
0
    private void OnOffstageToggleChanged(bool value)
    {
        bool prevValue = actor.GetPreferOffstage();

        undoStack.PushUndoForActor(
            actor,
            $"Set description for {actor.GetDisplayName()}",
            actor =>
        {
            if (!actor.IsParentedToAnotherActor())
            {
                actor.SetPreferOffstage(value);
            }
        },
            actor =>
        {
            if (!actor.IsParentedToAnotherActor())
            {
                actor.SetPreferOffstage(prevValue);
            }
        });
    }