private void ArrowGUI(Arrow arrow, ActionListSource source, string label) { if (arrow != null) { ArrowPrompt _target = (ArrowPrompt)target; arrow.isPresent = CustomGUILayout.Toggle("Provide?", arrow.isPresent, "", "If True, the Arrow is defined and used in the ArrowPrompt"); if (arrow.isPresent) { arrow.texture = (Texture2D)CustomGUILayout.ObjectField <Texture2D> ("Icon texture:", arrow.texture, true, "", "The texture to draw on-screen"); EditorGUILayout.BeginHorizontal(); if (source == ActionListSource.InScene) { arrow.linkedCutscene = ActionListAssetMenu.CutsceneGUI("Linked Cutscene", arrow.linkedCutscene, _target.gameObject.name + ": " + label, "The Cutscene to run when the Arrow is triggered"); } else if (source == ActionListSource.AssetFile) { arrow.linkedActionList = ActionListAssetMenu.AssetGUI("Linked ActionList:", arrow.linkedActionList, _target.gameObject.name + "_" + label, "", "The ActionList asset to run when the Arrow is triggered"); } EditorGUILayout.EndHorizontal(); } } }
public void ShowGUI() { runOnStart = EditorGUILayout.Toggle("Run on scene start?", runOnStart); runOnLoad = EditorGUILayout.Toggle("Run on scene load?", runOnLoad); EditorGUILayout.HelpBox("The linked ActionList can also be run by invoking this script's RunActionList() method.", MessageType.Info); EditorGUILayout.Space(); actionListSource = (ActionListSource)EditorGUILayout.EnumPopup("ActionList source:", actionListSource); switch (actionListSource) { case ActionListSource.InScene: actionList = (ActionList)EditorGUILayout.ObjectField("ActionList to run:", actionList, typeof(ActionList), true); if (actionList != null && actionList.IsSkippable()) { runInstantly = EditorGUILayout.Toggle("Run instantly?", runInstantly); } EditorGUILayout.Space(); ShowParametersGUI(actionList); break; case ActionListSource.AssetFile: actionListAsset = (ActionListAsset)EditorGUILayout.ObjectField("Asset to run:", actionListAsset, typeof(ActionListAsset), false); if (actionListAsset != null && actionListAsset.IsSkippable()) { runInstantly = EditorGUILayout.Toggle("Run instantly?", runInstantly); } EditorGUILayout.Space(); ShowParametersGUI(actionListAsset); break; } }
private void AddTextInputToActionList() { if (AppManager.Instance.AutomationIsRunning) { return; } if (ActionListSource == null) { ActionListSource = new ObservableCollection <OActionData>(); } _counter++; ActionListSource.Add(new OActionData { Id = _counter, ActionDelay = AppManager.Instance.Settings.CurrentActionDelay, MousePosition = AppManager.Instance.Settings.CurrentMousePosition, MouseAction = MouseActionType.Undefined, IsTaskPerformed = false, TextInput = AppManager.Instance.Settings.CurrentTextInput }); if (OnActionListUpdated != null) { OnActionListUpdated(this, EventArgs.Empty); } BottomStatusText = "New text input added."; }
/** * <summary>Runs the Arrow's linkedCutscene.</summary> * <param name = "actionListSource">Where the Actions are stored when not being run</param> */ public void Run(ActionListSource actionListSource) { if (actionListSource == ActionListSource.AssetFile) { if (linkedActionList != null) { linkedActionList.Interact(); } } else if (actionListSource == ActionListSource.InScene) { if (linkedCutscene != null) { linkedCutscene.Interact(); } } }
public void ShowGUI() { runOnStart = EditorGUILayout.Toggle("Run on scene start?", runOnStart); runOnLoad = EditorGUILayout.Toggle("Run on scene load?", runOnLoad); if (runOnLoad && KickStarter.settingsManager && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow) { sceneLoadCondition = (SceneLoadCondition)EditorGUILayout.EnumPopup("Scene load condition:", sceneLoadCondition); } EditorGUILayout.Space(); actionListSource = (ActionListSource)EditorGUILayout.EnumPopup("ActionList source:", actionListSource); switch (actionListSource) { case ActionListSource.InScene: actionList = (ActionList)EditorGUILayout.ObjectField("ActionList to run:", actionList, typeof(ActionList), true); if (actionList == null && GetComponent <ActionList>()) { actionList = GetComponent <ActionList>(); } if (actionList && actionList.IsSkippable()) { runInstantly = EditorGUILayout.Toggle("Run instantly?", runInstantly); } EditorGUILayout.Space(); ShowParametersGUI(actionList); break; case ActionListSource.AssetFile: actionListAsset = (ActionListAsset)EditorGUILayout.ObjectField("Asset to run:", actionListAsset, typeof(ActionListAsset), false); if (actionListAsset && actionListAsset.IsSkippable()) { runInstantly = EditorGUILayout.Toggle("Run instantly?", runInstantly); } EditorGUILayout.Space(); ShowParametersGUI(actionListAsset); break; } EditorGUILayout.Space(); EditorGUILayout.HelpBox("The linked ActionList can also be run by invoking this script's RunActionList() method.", MessageType.Info); }
public void SetParameter(ActionListSource source, GameObject gameObject) { if (source == ActionListSource.InScene && cutscene != null) { if (cutscene.useParameters && parameterID >= 0 && cutscene.parameters.Count > parameterID) { ActionParameter parameter = cutscene.GetParameter(parameterID); if (parameter != null) { parameter.SetValue(gameObject); } } if (!pausesCharacter) { cutscene.Interact(); } } else if (source == ActionListSource.AssetFile && actionListAsset != null) { if (actionListAsset.useParameters && parameterID >= 0 && actionListAsset.parameters.Count > parameterID) { int idToSend = 0; if (gameObject.GetComponent <ConstantID>()) { idToSend = gameObject.GetComponent <ConstantID>().constantID; } else { ACDebug.LogWarning(gameObject.name + " requires a ConstantID script component!", gameObject); } ActionParameter parameter = actionListAsset.GetParameter(parameterID); if (parameter != null) { parameter.SetValue(idToSend); } } if (!pausesCharacter) { actionListAsset.Interact(); } } }
/** * <summary>Runs the 'on snap' ActionList associated with the region</summary> * <param name = "actionListSource">The source of the ActionList (InScene, AssetFile)</param> */ public void RunSnapCutscene(ActionListSource actionListSource) { switch (actionListSource) { case ActionListSource.InScene: if (cutsceneOnSnap) { cutsceneOnSnap.Interact(); } break; case ActionListSource.AssetFile: if (actionListAssetOnSnap) { actionListAssetOnSnap.Interact(); } break; } }
override public void ShowGUI(List <ActionParameter> parameters) { changeOwn = EditorGUILayout.Toggle("Change own?", changeOwn); if (changeOwn) { if (parameters == null || parameters.Count == 0) { EditorGUILayout.HelpBox("This ActionList has no parameters defined!", MessageType.Warning); } parameterID = Action.ChooseParameterGUI(parameters, parameterID); SetParamGUI(parameters); } else { actionListSource = (ActionListSource)EditorGUILayout.EnumPopup("Source:", actionListSource); if (actionListSource == ActionListSource.InScene) { actionList = (ActionList)EditorGUILayout.ObjectField("ActionList:", actionList, typeof(ActionList), true); actionListConstantID = FieldToID <ActionList> (actionList, actionListConstantID); actionList = IDToField <ActionList> (actionList, actionListConstantID, true); if (actionList != null) { if (actionList.source == ActionListSource.InScene) { if (actionList.useParameters && actionList.parameters.Count > 0) { parameterID = Action.ChooseParameterGUI(actionList.parameters, parameterID); SetParamGUI(actionList.parameters); } else { EditorGUILayout.HelpBox("This ActionList has no parameters defined!", MessageType.Warning); } } else if (actionList.source == ActionListSource.AssetFile && actionList.assetFile != null) { if (actionList.assetFile.useParameters && actionList.assetFile.parameters.Count > 0) { parameterID = Action.ChooseParameterGUI(actionList.assetFile.parameters, parameterID); SetParamGUI(actionList.assetFile.parameters); } else { EditorGUILayout.HelpBox("This ActionList has no parameters defined!", MessageType.Warning); } } else { EditorGUILayout.HelpBox("This ActionList has no parameters defined!", MessageType.Warning); } } } else if (actionListSource == ActionListSource.AssetFile) { actionListAsset = (ActionListAsset)EditorGUILayout.ObjectField("ActionList asset:", actionListAsset, typeof(ActionListAsset), true); if (actionListAsset != null) { if (actionListAsset.useParameters && actionListAsset.parameters.Count > 0) { parameterID = Action.ChooseParameterGUI(actionListAsset.parameters, parameterID); SetParamGUI(actionListAsset.parameters); } else { EditorGUILayout.HelpBox("This ActionList Asset has no parameters defined!", MessageType.Warning); } } } } AfterRunningOption(); }