コード例 #1
0
        public override void Execute(ActionInvokerData data)
        {
            if (!enabled && !AllowInvokeWhenDisabled)
            {
                return;
            }

            if (Triggered && !Repeatable)
            {
                return;
            }

            string target = null;

            switch (Target)
            {
            case TargetType.Activator:
                target = data.Activator.Ref()?.gameObject.name;
                break;

            case TargetType.NearestController:
                target = GetComponentInParent <BaseController>().Ref()?.gameObject.name;
                break;

            case TargetType.ByTID:
                target = TargetId;
                break;

            case TargetType.ByReference:
                target = TargetReference.name;
                break;
            }

            DialogueInitiator.SetDynamicDialogue(ImmersiveMonologue.BuildDialogueScene());
            DialogueInitiator.InitiateDialogue(DialogueModule.DynamicDialogueName, Pause, null, target);

            Triggered = true;
        }