コード例 #1
0
        override public void ShowGUI(List <ActionParameter> parameters)
        {
                        #if UNITY_2017_1_OR_NEWER
            method = (ActionDirectorMethod)EditorGUILayout.EnumPopup("Method:", method);

            directorParameterID = Action.ChooseParameterGUI("Director:", parameters, directorParameterID, ParameterType.GameObject);
            if (directorParameterID >= 0)
            {
                directorConstantID = 0;
                director           = null;
            }
            else
            {
                director = (PlayableDirector)EditorGUILayout.ObjectField("Director:", director, typeof(PlayableDirector), true);

                directorConstantID = FieldToID <PlayableDirector> (director, directorConstantID);
                director           = IDToField <PlayableDirector> (director, directorConstantID, false);
            }

            if (method == ActionDirectorMethod.Play)
            {
                restart  = EditorGUILayout.Toggle("Play from beginning?", restart);
                willWait = EditorGUILayout.Toggle("Wait until finish?", willWait);

                if (willWait)
                {
                    disableCamera = EditorGUILayout.Toggle("Disable AC camera?", disableCamera);
                }
            }
            else if (method == ActionDirectorMethod.Stop)
            {
                pause         = EditorGUILayout.Toggle("Pause timeline?", pause);
                disableCamera = EditorGUILayout.Toggle("Enable AC camera?", disableCamera);
            }
                        #else
            EditorGUILayout.HelpBox("This Action is only compatible with Unity 5.6 or newer.", MessageType.Info);
                        #endif

            AfterRunningOption();
        }
コード例 #2
0
        override public void ShowGUI(List <ActionParameter> parameters)
        {
                        #if UNITY_2017_1_OR_NEWER
            method = (ActionDirectorMethod)EditorGUILayout.EnumPopup("Method:", method);

            directorParameterID = Action.ChooseParameterGUI("Director:", parameters, directorParameterID, ParameterType.GameObject);
            if (directorParameterID >= 0)
            {
                directorConstantID = 0;
                director           = null;
            }
            else
            {
                director = (PlayableDirector)EditorGUILayout.ObjectField("Director:", director, typeof(PlayableDirector), true);

                directorConstantID = FieldToID <PlayableDirector> (director, directorConstantID);
                director           = IDToField <PlayableDirector> (director, directorConstantID, false);
            }

            if (method == ActionDirectorMethod.Play)
            {
                restart = EditorGUILayout.Toggle("Play from beginning?", restart);
                if (restart)
                {
                    newTimeline = (TimelineAsset)EditorGUILayout.ObjectField("Timeline (optional):", newTimeline, typeof(TimelineAsset), false);
                    EditorGUILayout.BeginVertical(CustomStyles.thinBox);
                    updateBindings = EditorGUILayout.Toggle("Remap bindings?", updateBindings);
                    if (updateBindings)
                    {
                        if (newTimeline)
                        {
                            ShowBindingsUI(newTimeline, parameters);
                        }
                        else if (director != null && director.playableAsset != null)
                        {
                            ShowBindingsUI(director.playableAsset as TimelineAsset, parameters);
                        }
                        else
                        {
                            EditorGUILayout.HelpBox("A Director or Timeline must be assigned in order to update bindings.", MessageType.Warning);
                        }
                    }
                    else if (newTimeline != null)
                    {
                        EditorGUILayout.HelpBox("The existing bindings will be transferred onto the new Timeline.", MessageType.Info);
                    }
                    EditorGUILayout.EndVertical();
                }
                willWait = EditorGUILayout.Toggle("Wait until finish?", willWait);

                if (willWait)
                {
                    disableCamera = EditorGUILayout.Toggle("Disable AC camera?", disableCamera);
                }
            }
            else if (method == ActionDirectorMethod.Stop)
            {
                pause         = EditorGUILayout.Toggle("Pause timeline?", pause);
                disableCamera = EditorGUILayout.Toggle("Enable AC camera?", disableCamera);
            }
                        #else
            EditorGUILayout.HelpBox("This Action is only compatible with Unity 5.6 or newer.", MessageType.Info);
                        #endif

            AfterRunningOption();
        }