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