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(); } }
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); } }); }