public override void OnInspectorGUI() { RuntimeActionList _target = (RuntimeActionList)target; if (Application.isPlaying) { CustomGUILayout.BeginVertical(); EditorGUILayout.ObjectField("Asset source:", _target.assetSource, typeof(ActionListAsset), false); if (_target.useParameters) { CustomGUILayout.EndVertical(); CustomGUILayout.BeginVertical(); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(_target, null, _target.parameters); } CustomGUILayout.EndVertical(); } else { EditorGUILayout.HelpBox("This component should not be added manually - it is added automatically by AC at runtime.", MessageType.Warning); } UnityVersionHandler.CustomSetDirty(_target); }
public static void ShowPropertiesGUI(ActionListAsset _target) { EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Asset properties", EditorStyles.boldLabel); _target.actionListType = (ActionListType)EditorGUILayout.EnumPopup("When running:", _target.actionListType); if (_target.actionListType == ActionListType.PauseGameplay) { _target.isSkippable = EditorGUILayout.Toggle("Is skippable?", _target.isSkippable); _target.unfreezePauseMenus = EditorGUILayout.Toggle("Unfreeze 'pause' Menus?", _target.unfreezePauseMenus); } _target.canRunMultipleInstances = EditorGUILayout.Toggle("Can run multiple instances?", _target.canRunMultipleInstances); _target.useParameters = EditorGUILayout.Toggle("Use parameters?", _target.useParameters); EditorGUILayout.EndVertical(); if (_target.useParameters) { EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(null, _target, _target.parameters); EditorGUILayout.EndVertical(); } _target.tagID = ActionListEditor.ShowTagUI(_target.actions.ToArray(), _target.tagID); }
public static void PropertiesGUI(Cutscene _target) { EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Cutscene properties", EditorStyles.boldLabel); _target.source = (ActionListSource)EditorGUILayout.EnumPopup("Actions source:", _target.source); if (_target.source == ActionListSource.AssetFile) { _target.assetFile = (ActionListAsset)EditorGUILayout.ObjectField("ActionList asset:", _target.assetFile, typeof(ActionListAsset), false); _target.syncParamValues = EditorGUILayout.Toggle("Sync parameter values?", _target.syncParamValues); } _target.actionListType = (ActionListType)EditorGUILayout.EnumPopup("When running:", _target.actionListType); if (_target.actionListType == ActionListType.PauseGameplay) { _target.isSkippable = EditorGUILayout.Toggle("Is skippable?", _target.isSkippable); } _target.triggerTime = EditorGUILayout.Slider("Start delay (s):", _target.triggerTime, 0f, 10f); _target.autosaveAfter = EditorGUILayout.Toggle("Auto-save after?", _target.autosaveAfter); _target.tagID = ShowTagUI(_target.actions.ToArray(), _target.tagID); if (_target.source == ActionListSource.InScene) { _target.useParameters = EditorGUILayout.Toggle("Use parameters?", _target.useParameters); } EditorGUILayout.EndVertical(); if (_target.useParameters) { EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(_target.parameters); EditorGUILayout.EndVertical(); } }
public static void ShowPropertiesGUI(ActionListAsset _target) { EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Asset properties", EditorStyles.boldLabel); _target.actionListType = (ActionListType)EditorGUILayout.EnumPopup("When running:", _target.actionListType); if (_target.actionListType == ActionListType.PauseGameplay) { _target.isSkippable = EditorGUILayout.Toggle("Is skippable?", _target.isSkippable); _target.unfreezePauseMenus = EditorGUILayout.Toggle("Unfreeze 'pause' Menus?", _target.unfreezePauseMenus); } _target.canRunMultipleInstances = EditorGUILayout.Toggle("Can run multiple instances?", _target.canRunMultipleInstances); if (!_target.IsSkippable()) { _target.canSurviveSceneChanges = EditorGUILayout.Toggle("Can survive scene changes?", _target.canSurviveSceneChanges); } _target.useParameters = EditorGUILayout.Toggle("Use parameters?", _target.useParameters); if (_target.useParameters) { _target.revertToDefaultParametersAfterRunning = EditorGUILayout.ToggleLeft("Revert to default parameter values after running?", _target.revertToDefaultParametersAfterRunning); } EditorGUILayout.EndVertical(); if (_target.useParameters) { EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(null, _target, _target.GetParameters()); EditorGUILayout.EndVertical(); } _target.tagID = ActionListEditor.ShowTagUI(_target.actions.ToArray(), _target.tagID); }
private void ShowParametersGUI(ActionListAsset _targetAsset) { EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(_targetAsset.parameters); EditorGUILayout.EndVertical(); }
public static void PropertiesGUI(Cutscene _target) { EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Cutscene properties", EditorStyles.boldLabel); _target.source = (ActionListSource)CustomGUILayout.EnumPopup("Actions source:", _target.source, "", "Where the Actions are stored"); if (_target.source == ActionListSource.AssetFile) { _target.assetFile = (ActionListAsset)CustomGUILayout.ObjectField <ActionListAsset> ("ActionList asset:", _target.assetFile, false, "", "The ActionList asset that stores the Actions"); _target.syncParamValues = CustomGUILayout.Toggle("Sync parameter values?", _target.syncParamValues, "", "If True, the ActionList asset's parameter values will be shared amongst all linked ActionLists"); } _target.actionListType = (ActionListType)CustomGUILayout.EnumPopup("When running:", _target.actionListType, "", "The effect that running the Actions has on the rest of the game"); if (_target.actionListType == ActionListType.PauseGameplay) { _target.isSkippable = CustomGUILayout.Toggle("Is skippable?", _target.isSkippable, "", "If True, the Actions will be skipped when the user presses the 'EndCutscene' Input button"); } _target.triggerTime = CustomGUILayout.Slider("Start delay (s):", _target.triggerTime, 0f, 10f, "", "The delay, in seconds, before the Actions are run when the ActionList is triggered"); _target.autosaveAfter = CustomGUILayout.Toggle("Autosave after?", _target.autosaveAfter, "", "If True, the game will auto-save when the Actions have finished running"); _target.tagID = ShowTagUI(_target.actions.ToArray(), _target.tagID); if (_target.source == ActionListSource.InScene) { _target.useParameters = CustomGUILayout.Toggle("Use parameters?", _target.useParameters, "", "If True, ActionParameters can be used to override values within the Action objects"); } else if (_target.source == ActionListSource.AssetFile && _target.assetFile != null && !_target.syncParamValues && _target.assetFile.useParameters) { _target.useParameters = CustomGUILayout.Toggle("Set local parameter values?", _target.useParameters, "", "If True, parameter values set here will be assigned locally, and not on the ActionList asset"); } EditorGUILayout.EndVertical(); if (_target.useParameters) { if (_target.source == ActionListSource.InScene) { EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(_target, null, _target.parameters); EditorGUILayout.EndVertical(); } else if (!_target.syncParamValues && _target.source == ActionListSource.AssetFile && _target.assetFile != null && _target.assetFile.useParameters) { bool isAsset = UnityVersionHandler.IsPrefabFile(_target.gameObject); EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Local parameter values", EditorStyles.boldLabel); ActionListEditor.ShowLocalParametersGUI(_target.parameters, _target.assetFile.GetParameters(), isAsset); EditorGUILayout.EndVertical(); } } }
public static void PropertiesGUI(Interaction _target) { EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Interaction properties", EditorStyles.boldLabel); _target.source = (ActionListSource)EditorGUILayout.EnumPopup("Actions source:", _target.source); if (_target.source == ActionListSource.AssetFile) { _target.assetFile = (ActionListAsset)EditorGUILayout.ObjectField("ActionList asset:", _target.assetFile, typeof(ActionListAsset), false); _target.syncParamValues = EditorGUILayout.Toggle("Sync parameter values?", _target.syncParamValues); } _target.actionListType = (ActionListType)EditorGUILayout.EnumPopup("When running:", _target.actionListType); if (_target.actionListType == ActionListType.PauseGameplay) { _target.isSkippable = EditorGUILayout.Toggle("Is skippable?", _target.isSkippable); } _target.tagID = ShowTagUI(_target.actions.ToArray(), _target.tagID); if (_target.source == ActionListSource.InScene) { _target.useParameters = EditorGUILayout.Toggle("Use parameters?", _target.useParameters); } else if (_target.source == ActionListSource.AssetFile && _target.assetFile != null && !_target.syncParamValues && _target.assetFile.useParameters) { _target.useParameters = EditorGUILayout.Toggle("Set local parameter values?", _target.useParameters); } EditorGUILayout.EndVertical(); if (_target.useParameters) { if (_target.source == ActionListSource.InScene) { EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(_target, null, _target.parameters); EditorGUILayout.EndVertical(); } else if (!_target.syncParamValues && _target.source == ActionListSource.AssetFile && _target.assetFile != null && _target.assetFile.useParameters) { bool isAsset = (PrefabUtility.GetPrefabType(_target) == PrefabType.Prefab) ? true : false; EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Local parameter values", EditorStyles.boldLabel); ActionListEditor.ShowLocalParametersGUI(_target.parameters, _target.assetFile.parameters, isAsset); EditorGUILayout.EndVertical(); } } }
private void ShowParametersGUI(ActionList _target) { if (_target is AC_Trigger) { if (_target.parameters.Count != 1) { ActionParameter newParameter = new ActionParameter(0); newParameter.parameterType = ParameterType.GameObject; newParameter.label = "Collision object"; _target.parameters.Clear(); _target.parameters.Add(newParameter); } return; } EditorGUILayout.Space(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel); ActionListEditor.ShowParametersGUI(_target.parameters); EditorGUILayout.EndVertical(); }