示例#1
0
 private bool ShouldActorBeListed(bool isOffstageList, VoosActor actor)
 {
     return((actor.GetIsOffstageEffective() == isOffstageList) &&
            !actor.GetWasClonedByScript() &&
            (showCopiesToggle.isOn || actor.GetCloneParentActor() == null) &&
            actor.GetDisplayName().ToLower().Contains(searchInput.text.ToLower()));
 }
    public void UpdateAllFields()
    {
        if (!ui.nameField.isFocused)
        {
            ui.nameField.text = actor.GetDisplayName();
        }
        if (!ui.tagsField.isFocused)
        {
            ui.tagsField.text = actor.GetJoinedTags();
        }
        if (!ui.descriptionField.isFocused)
        {
            ui.descriptionField.text = actor.GetDescription();
        }

        // this pattner (remove listener, set, add again) is a hack to make the undo system worl
        ui.hideInPlayModeToggle.onValueChanged.RemoveListener(ToggleHideInPlayMode);
        ui.hideInPlayModeToggle.isOn = actor.GetHideInPlayMode();
        ui.hideInPlayModeToggle.onValueChanged.AddListener(ToggleHideInPlayMode);

        ui.isOffStageToggle.onValueChanged.RemoveListener(OnOffstageToggleChanged);
        ui.isOffStageToggle.isOn = actor.GetIsOffstageEffective();
        ui.isOffStageToggle.onValueChanged.AddListener(OnOffstageToggleChanged);

        // Only let user toggle on/off stage if this is an unparented actor.
        ui.isOffStageToggle.interactable = !actor.IsParentedToAnotherActor();

        // ui.isOffStageToggle.gameObject.SetActive(editMain.ShowAdvanced());
    }
示例#3
0
 private bool ShouldActorBeListed(bool isOffstageList, VoosActor actor)
 {
     return(actor.GetName() != "__GameRules__" &&
            (actor.GetIsOffstageEffective() == isOffstageList) &&
            !actor.GetWasClonedByScript() &&
            (actor.GetDisplayName().ToLower().Contains(searchInput.text.ToLower())));
 }
示例#4
0
    public void RemoveTargetActor(VoosActor actor)
    {
        if (!IsActorInTargetActors(actor))
        {
            return;
        }

        if (actor != null && actor.GetIsOffstageEffective())
        {
            actor.SetOffstageGhostRenderableVisibleAndInteractive(false);
        }
        targetActors.Remove(actor);
        RemoveTargetFeedbackForActor(actor);
        if (focusedTargetActor == actor)
        {
            if (targetActors.Count > 0)
            {
                focusedTargetActor = targetActors[targetActors.Count - 1];
            }
            else
            {
                focusedTargetActor = null;
            }
        }
        targetActorsChanged?.Invoke(targetActors);
    }
示例#5
0
    public void DeleteActor(VoosActor actor)
    {
        bool cannotDelete = actor == null || actor.IsLockedByAnother() || actor.IsBuiltinActor();

        if (cannotDelete)
        {
            return;
        }

        Vector3 pos = actor.transform.position;

        effects.Trigger("Explosion_FX", pos, Quaternion.identity, actor.GetIsOffstageEffective());
        RemoveTargetActor(actor);
        engine.DestroyActor(actor);
    }