private int ShowVarGUI(List <InvVar> attributes, int ID, bool changeID) { if (attributes.Count > 0) { if (changeID) { ID = ShowAttributeSelectorGUI(attributes, ID); } attributeNumber = Mathf.Min(attributeNumber, attributes.Count - 1); EditorGUILayout.BeginHorizontal(); if (attributes [attributeNumber].type == VariableType.Boolean) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); EditorGUILayout.LabelField("Boolean:", GUILayout.MaxWidth(60f)); boolValue = (BoolValue)EditorGUILayout.EnumPopup(boolValue); } else if (attributes [attributeNumber].type == VariableType.Integer) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); EditorGUILayout.LabelField("Integer:", GUILayout.MaxWidth(60f)); intValue = EditorGUILayout.IntField(intValue); } else if (attributes [attributeNumber].type == VariableType.PopUp) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); EditorGUILayout.LabelField("Value:", GUILayout.MaxWidth(60f)); intValue = EditorGUILayout.Popup(intValue, attributes [attributeNumber].popUps); } else if (attributes [attributeNumber].type == VariableType.Float) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); EditorGUILayout.LabelField("Float:", GUILayout.MaxWidth(60f)); floatValue = EditorGUILayout.FloatField(floatValue); } else if (attributes [attributeNumber].type == VariableType.String) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); EditorGUILayout.LabelField("String:", GUILayout.MaxWidth(60f)); stringValue = EditorGUILayout.TextField(stringValue); } EditorGUILayout.EndHorizontal(); if (attributes [attributeNumber].type == VariableType.String) { checkCase = EditorGUILayout.Toggle("Case-senstive?", checkCase); } } else { EditorGUILayout.HelpBox("No variables exist!", MessageType.Info); ID = -1; attributeNumber = -1; } return(ID); }
override public void ShowGUI(List <ActionParameter> parameters) { saveCheck = (SaveCheck)EditorGUILayout.EnumPopup("Check to make:", saveCheck); if (saveCheck == SaveCheck.NumberOfSaveGames) { includeAutoSaves = EditorGUILayout.Toggle("Include auto-save?", includeAutoSaves); } if (saveCheck == SaveCheck.IsSlotEmpty) { checkParameterID = Action.ChooseParameterGUI("Save ID:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField("Save ID:", intValue); } } else if (saveCheck != SaveCheck.IsSavingPossible) { intCondition = (IntCondition)EditorGUILayout.EnumPopup("Value is:", intCondition); checkParameterID = Action.ChooseParameterGUI("Integer:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField("Integer:", intValue); } } }
override public void ShowGUI(List <ActionParameter> parameters) { sceneToCheck = (SceneToCheck)EditorGUILayout.EnumPopup("Check previous or current:", sceneToCheck); chooseSceneBy = (ChooseSceneBy)EditorGUILayout.EnumPopup("Choose scene by:", chooseSceneBy); EditorGUILayout.BeginHorizontal(); if (chooseSceneBy == ChooseSceneBy.Name) { EditorGUILayout.LabelField("Scene name is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNameParameterID = Action.ChooseParameterGUI("", parameters, sceneNameParameterID, ParameterType.String); if (sceneNameParameterID < 0) { sceneName = EditorGUILayout.TextField(sceneName); } } else { EditorGUILayout.LabelField("Scene number is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNumberParameterID = Action.ChooseParameterGUI("", parameters, sceneNumberParameterID, ParameterType.Integer); if (sceneNumberParameterID < 0) { sceneNumber = EditorGUILayout.IntField(sceneNumber); } } EditorGUILayout.EndHorizontal(); }
override public void ShowGUI(List <ActionParameter> parameters) { dragParameterID = Action.ChooseParameterGUI("Drag object:", parameters, dragParameterID, ParameterType.GameObject); if (dragParameterID >= 0) { dragConstantID = 0; dragObject = null; } else { dragObject = (Moveable_Drag)EditorGUILayout.ObjectField("Drag object:", dragObject, typeof(Moveable_Drag), true); dragConstantID = FieldToID <Moveable_Drag> (dragObject, dragConstantID); dragObject = IDToField <Moveable_Drag> (dragObject, dragConstantID, false); if (dragObject != null && dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox("The chosen Drag object must be in 'Lock To Track' mode", MessageType.Warning); } } condition = (IntCondition)EditorGUILayout.EnumPopup("Condition:", condition); checkPositionParameterID = Action.ChooseParameterGUI("Position:", parameters, checkPositionParameterID, ParameterType.Float); if (checkPositionParameterID < 0) { checkPosition = EditorGUILayout.Slider("Position:", checkPosition, 0f, 1f); } if (condition == IntCondition.EqualTo || condition == IntCondition.NotEqualTo) { errorMargin = EditorGUILayout.Slider("Error margin:", errorMargin, 0f, 1f); } }
override public void ShowGUI(List <ActionParameter> parameters) { menuToCheckParameterID = Action.ChooseParameterGUI("Menu containing element:", parameters, menuToCheckParameterID, ParameterType.String); if (menuToCheckParameterID < 0) { menuToCheck = EditorGUILayout.TextField("Menu containing element:", menuToCheck); } elementToCheckParameterID = Action.ChooseParameterGUI("Element to check:", parameters, elementToCheckParameterID, ParameterType.String); if (elementToCheckParameterID < 0) { elementToCheck = EditorGUILayout.TextField("Element to check:", elementToCheck); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Number of slots is:", GUILayout.Width(145f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); EditorGUILayout.EndHorizontal(); numToCheckParameterID = Action.ChooseParameterGUI("Value:", parameters, numToCheckParameterID, ParameterType.Integer); if (numToCheckParameterID < 0) { numToCheck = EditorGUILayout.IntField("Value:", numToCheck); } }
public void ShowGUI(int lowerValue, int upperValue) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Previous scene:"); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNumber = EditorGUILayout.IntField(sceneNumber); EditorGUILayout.EndHorizontal(); if (lowerValue > upperValue || lowerValue == upperValue) { lowerValue = upperValue; } resultActionTrue = (Action.ResultAction)EditorGUILayout.EnumPopup("If condition is met:", (Action.ResultAction)resultActionTrue); if (resultActionTrue == Action.ResultAction.RunCutscene) { linkedCutsceneTrue = (Cutscene)EditorGUILayout.ObjectField("Cutscene to run:", linkedCutsceneTrue, typeof(Cutscene), true); } else if (resultActionTrue == Action.ResultAction.Skip) { skipActionTrue = EditorGUILayout.IntSlider("Action # to skip to:", skipActionTrue, lowerValue, upperValue); } resultActionFail = (Action.ResultAction)EditorGUILayout.EnumPopup("If condition is not met:", (Action.ResultAction)resultActionFail); if (resultActionFail == Action.ResultAction.RunCutscene) { linkedCutsceneFail = (Cutscene)EditorGUILayout.ObjectField("Cutscene to run:", linkedCutsceneFail, typeof(Cutscene), true); } else if (resultActionFail == Action.ResultAction.Skip) { skipActionFail = EditorGUILayout.IntSlider("Action # to skip to:", skipActionFail, lowerValue, upperValue); } }
/** * <summary>Creates a new instance of the 'Save: Check' Action, set to query the number of profiles</summary> * <param name = "numSaves">The number of profiles to check for</param> * <param name = "condition">The condition to query</param> * <returns>The generated Action</returns> */ public static ActionSaveCheck CreateNew_NumberOfProfiles(int numProfiles, IntCondition condition = IntCondition.EqualTo) { ActionSaveCheck newAction = (ActionSaveCheck)CreateInstance <ActionSaveCheck>(); newAction.saveCheck = SaveCheck.NumberOfProfiles; newAction.intValue = numProfiles; newAction.intCondition = condition; return(newAction); }
public override void ShowGUI(List <ActionParameter> parameters) { saveCheck = (SaveCheck)EditorGUILayout.EnumPopup("Check to make:", saveCheck); if (saveCheck == SaveCheck.NumberOfSaveGames) { includeAutoSaves = EditorGUILayout.Toggle("Include auto-save?", includeAutoSaves); } if (saveCheck == SaveCheck.IsSlotEmpty) { checkByElementIndex = EditorGUILayout.Toggle("Check by menu slot index?", checkByElementIndex); string intValueLabel = (checkByElementIndex) ? "SavesList slot index:" : "Save ID:"; checkParameterID = Action.ChooseParameterGUI(intValueLabel, parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField(intValueLabel, intValue); } } else if (saveCheck == SaveCheck.DoesProfileExist) { checkByElementIndex = EditorGUILayout.ToggleLeft("Check by menu slot index?", checkByElementIndex); string intValueLabel = (checkByElementIndex) ? "ProfilesList slot index:" : "Profile ID:"; checkParameterID = Action.ChooseParameterGUI(intValueLabel, parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField(intValueLabel, intValue); } if (checkByElementIndex) { EditorGUILayout.Space(); menuName = EditorGUILayout.TextField("Menu with ProfilesList:", menuName); elementName = EditorGUILayout.TextField("ProfilesList element:", elementName); } } else if (saveCheck == SaveCheck.DoesProfileNameExist) { profileVarID = AdvGame.GlobalVariableGUI("String variable with name:", profileVarID, VariableType.String); } else if (saveCheck != SaveCheck.IsSavingPossible) { intCondition = (IntCondition)EditorGUILayout.EnumPopup("Value is:", intCondition); checkParameterID = Action.ChooseParameterGUI("Integer:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField("Integer:", intValue); } } }
override public void ShowGUI(List <ActionParameter> parameters) { checkType = (InputCheckType)EditorGUILayout.EnumPopup("Check type:", checkType); parameterID = Action.ChooseParameterGUI(checkType.ToString() + " name:", parameters, parameterID, ParameterType.String); if (parameterID < 0) { inputName = EditorGUILayout.TextField(checkType.ToString() + " name:", inputName); } if (checkType == InputCheckType.Axis) { EditorGUILayout.BeginHorizontal(); axisCondition = (IntCondition)EditorGUILayout.EnumPopup(axisCondition); axisValue = EditorGUILayout.FloatField(axisValue); EditorGUILayout.EndHorizontal(); } }
override public void ShowGUI() { chooseSceneBy = (ChooseSceneBy)EditorGUILayout.EnumPopup("Choose scene by:", chooseSceneBy); EditorGUILayout.BeginHorizontal(); sceneToCheck = (SceneToCheck)EditorGUILayout.EnumPopup(sceneToCheck); if (chooseSceneBy == ChooseSceneBy.Name) { EditorGUILayout.LabelField("scene name is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneName = EditorGUILayout.TextField(sceneName); } else { EditorGUILayout.LabelField("scene number is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNumber = EditorGUILayout.IntField(sceneNumber); } EditorGUILayout.EndHorizontal(); }
public override void ShowGUI(List <ActionParameter> parameters) { if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow) { playerParameterID = ChooseParameterGUI("Player:", parameters, playerParameterID, ParameterType.Integer); if (playerParameterID < 0) { playerID = ChoosePlayerGUI(playerID, true); } } sceneToCheck = (SceneToCheck)EditorGUILayout.EnumPopup("Check type:", sceneToCheck); chooseSceneBy = (ChooseSceneBy)EditorGUILayout.EnumPopup("Choose scene by:", chooseSceneBy); EditorGUILayout.BeginHorizontal(); if (chooseSceneBy == ChooseSceneBy.Name) { EditorGUILayout.LabelField("Scene name is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNameParameterID = ChooseParameterGUI(string.Empty, parameters, sceneNameParameterID, ParameterType.String); if (sceneNameParameterID < 0) { sceneName = EditorGUILayout.TextField(sceneName); } } else { EditorGUILayout.LabelField("Scene number is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNumberParameterID = ChooseParameterGUI(string.Empty, parameters, sceneNumberParameterID, ParameterType.Integer); if (sceneNumberParameterID < 0) { sceneNumber = EditorGUILayout.IntField(sceneNumber); } } EditorGUILayout.EndHorizontal(); }
/** * <summary>Creates a new instance of the 'Save: Check' Action, set to query the number of save files</summary> * <param name = "numSaves">The number of save files to check for</param> * <param name = "includeAutosave">If True, the Autosave will be included in the total number of save files</param> * <param name = "condition">The condition to query</param> * <returns>The generated Action</returns> */ public static ActionSaveCheck CreateNew_NumberOfSaveGames(int numSaves, bool includeAutosave = true, IntCondition condition = IntCondition.EqualTo) { ActionSaveCheck newAction = (ActionSaveCheck)CreateInstance <ActionSaveCheck>(); newAction.saveCheck = SaveCheck.NumberOfSaveGames; newAction.intValue = numSaves; newAction.intCondition = condition; newAction.includeAutoSaves = includeAutosave; return(newAction); }
public override void ShowGUI(List<ActionParameter> parameters) { dragParameterID = Action.ChooseParameterGUI ("Drag object:", parameters, dragParameterID, ParameterType.GameObject); if (dragParameterID >= 0) { dragConstantID = 0; dragObject = null; } else { dragObject = (Moveable_Drag) EditorGUILayout.ObjectField ("Drag object:", dragObject, typeof (Moveable_Drag), true); dragConstantID = FieldToID <Moveable_Drag> (dragObject, dragConstantID); dragObject = IDToField <Moveable_Drag> (dragObject, dragConstantID, false); if (dragObject != null && dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox ("The chosen Drag object must be in 'Lock To Track' mode", MessageType.Warning); } } condition = (IntCondition) EditorGUILayout.EnumPopup ("Condition:", condition); checkPositionParameterID = Action.ChooseParameterGUI ("Position:", parameters, checkPositionParameterID, ParameterType.Float); if (checkPositionParameterID < 0) { checkPosition = EditorGUILayout.Slider ("Position:", checkPosition, 0f, 1f); } if (condition == IntCondition.EqualTo || condition == IntCondition.NotEqualTo) { errorMargin = EditorGUILayout.Slider ("Error margin:", errorMargin, 0f, 1f); } }
override public void ShowGUI(List <ActionParameter> parameters) { if (inventoryManager == null && AdvGame.GetReferences().inventoryManager) { inventoryManager = AdvGame.GetReferences().inventoryManager; } if (settingsManager == null && AdvGame.GetReferences().settingsManager) { settingsManager = AdvGame.GetReferences().settingsManager; } invCheckType = (InvCheckType)EditorGUILayout.EnumPopup("Check to make:", invCheckType); if (invCheckType == InvCheckType.NumberOfItemsCarrying) { intCondition = (IntCondition)EditorGUILayout.EnumPopup("Count is:", intCondition); intValueParameterID = Action.ChooseParameterGUI(intCondition.ToString() + ":", parameters, intValueParameterID, ParameterType.Integer); if (intValueParameterID < 0) { intValue = EditorGUILayout.IntField(intCondition.ToString() + ":", intValue); } SetPlayerGUI(); return; } if (inventoryManager) { // Create a string List of the field's names (for the PopUp box) List <string> labelList = new List <string>(); int i = 0; if (parameterID == -1) { invNumber = -1; } if (inventoryManager.items.Count > 0) { foreach (InvItem _item in inventoryManager.items) { labelList.Add(_item.label); // If an item has been removed, make sure selected variable is still valid if (_item.id == invID) { invNumber = i; } i++; } if (invNumber == -1) { // Wasn't found (item was possibly deleted), so revert to zero ACDebug.LogWarning("Previously chosen item no longer exists!"); invNumber = 0; invID = 0; } // parameterID = Action.ChooseParameterGUI("Inventory item:", parameters, parameterID, ParameterType.InventoryItem); if (parameterID >= 0) { invNumber = Mathf.Min(invNumber, inventoryManager.items.Count - 1); invID = -1; } else { invNumber = EditorGUILayout.Popup("Inventory item:", invNumber, labelList.ToArray()); invID = inventoryManager.items[invNumber].id; } // if (inventoryManager.items[invNumber].canCarryMultiple) { doCount = EditorGUILayout.Toggle("Query count?", doCount); if (doCount) { intCondition = (IntCondition)EditorGUILayout.EnumPopup("Count is:", intCondition); intValueParameterID = Action.ChooseParameterGUI(intCondition.ToString() + ":", parameters, intValueParameterID, ParameterType.Integer); if (intValueParameterID < 0) { intValue = EditorGUILayout.IntField(intCondition.ToString() + ":", intValue); if (intValue < 1) { intValue = 1; } } } } else { doCount = false; } SetPlayerGUI(); } else { EditorGUILayout.LabelField("No inventory items exist!"); invID = -1; invNumber = -1; } } else { EditorGUILayout.HelpBox("An Inventory Manager must be assigned for this Action to work", MessageType.Warning); } }
public override void ShowGUI(List <ActionParameter> parameters) { dragParameterID = Action.ChooseParameterGUI("Drag object:", parameters, dragParameterID, ParameterType.GameObject); if (dragParameterID < 0 || method == TrackCheckMethod.WithinSnapRegion) { string label = (dragParameterID < 0) ? "Placeholder drag object:" : "Drag object"; dragObject = (Moveable_Drag)EditorGUILayout.ObjectField(label, dragObject, typeof(Moveable_Drag), true); dragConstantID = FieldToID <Moveable_Drag> (dragObject, dragConstantID); dragObject = IDToField <Moveable_Drag> (dragObject, dragConstantID, false); if (dragObject != null && dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox("The chosen Drag object must be in 'Lock To Track' mode", MessageType.Warning); } } method = (TrackCheckMethod)EditorGUILayout.EnumPopup("Method:", method); if (method == TrackCheckMethod.PositionValue) { condition = (IntCondition)EditorGUILayout.EnumPopup("Condition:", condition); checkPositionParameterID = Action.ChooseParameterGUI("Position:", parameters, checkPositionParameterID, ParameterType.Float); if (checkPositionParameterID < 0) { checkPosition = EditorGUILayout.Slider("Position:", checkPosition, 0f, 1f); } if (condition == IntCondition.EqualTo || condition == IntCondition.NotEqualTo) { errorMargin = EditorGUILayout.Slider("Error margin:", errorMargin, 0f, 1f); } } else if (method == TrackCheckMethod.WithinSnapRegion) { if (dragObject == null) { EditorGUILayout.HelpBox("A drag object must be assigned above.", MessageType.Warning); } else if (dragObject.track == null || dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox("The chosen Drag object must have an assigned Track.", MessageType.Warning); } else if (!dragObject.track.doSnapping || dragObject.track.allTrackSnapData == null || dragObject.track.allTrackSnapData.Count == 0) { EditorGUILayout.HelpBox("The chosen Drag object's Track has no snap points.", MessageType.Warning); } else { snapParameterID = Action.ChooseParameterGUI("Snap ID:", parameters, snapParameterID, ParameterType.Integer); if (snapParameterID < 0) { List <string> labelList = new List <string>(); int snapIndex = 0; for (int i = 0; i < dragObject.track.allTrackSnapData.Count; i++) { labelList.Add(dragObject.track.allTrackSnapData[i].EditorLabel); if (dragObject.track.allTrackSnapData[i].ID == snapID) { snapIndex = i; } } snapIndex = EditorGUILayout.Popup("Snap:", snapIndex, labelList.ToArray()); snapID = dragObject.track.allTrackSnapData[snapIndex].ID; } } } }
/** * <summary>Creates a new instance of the 'Input: Check' Action, set to check if a axis is held down</summary> * <param name = "axisName">The axis to check for</param> * <param name = "axisValue">The axis value to check for</param> * <param name = "condition">The condition to check for</param> * <returns>The generated Action</returns> */ public static ActionInputCheck CreateNew_Axis(string axisName, float axisValue = 0.2f, IntCondition condition = IntCondition.MoreThan) { ActionInputCheck newAction = (ActionInputCheck)CreateInstance <ActionInputCheck>(); newAction.checkType = InputCheckType.Axis; newAction.inputName = axisName; newAction.axisValue = axisValue; newAction.axisCondition = condition; return(newAction); }
override public void ShowGUI (List<ActionParameter> parameters) { dragObject = (Moveable_Drag) EditorGUILayout.ObjectField ("Drag object:", dragObject, typeof (Moveable_Drag), true); if (dragObject != null && dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox ("The chosen Drag object must be in 'Lock To Track' mode", MessageType.Warning); } EditorGUILayout.BeginHorizontal (); condition = (IntCondition) EditorGUILayout.EnumPopup (condition); checkPosition = EditorGUILayout.Slider (checkPosition, 0f, 1f); EditorGUILayout.EndHorizontal (); if (condition == IntCondition.EqualTo || condition == IntCondition.NotEqualTo) { errorMargin = EditorGUILayout.Slider ("Error margin:", errorMargin, 0f, 1f); } }
public IntSearch(int?value, IntCondition condition = IntCondition.Equal, int?value2 = null) : base(value) { Condition = condition; Value2 = value2; }
public override void OnGUI(int WindowID) { if (inventoryManager == null && AdvGame.GetReferences().inventoryManager) { inventoryManager = AdvGame.GetReferences().inventoryManager; } if (settingsManager == null && AdvGame.GetReferences().settingsManager) { settingsManager = AdvGame.GetReferences().settingsManager; } if (inventoryManager) { // Create a string List of the field's names (for the PopUp box) List <string> labelList = new List <string>(); int i = 0; if (parameterID == -1) { invNumber = -1; } if (inventoryManager.items.Count > 0) { foreach (InvItem _item in inventoryManager.items) { labelList.Add(_item.label); // If an item has been removed, make sure selected variable is still valid if (_item.id == invID) { invNumber = i; } i++; } if (invNumber == -1) { // Wasn't found (item was possibly deleted), so revert to zero ACDebug.LogWarning("Previously chosen item no longer exists!"); invNumber = 0; invID = 0; } parameterID = AC.Action.ChooseParameterGUI("Inventory item:", parameters, parameterID, ParameterType.InventoryItem); if (parameterID >= 0) { invNumber = Mathf.Min(invNumber, inventoryManager.items.Count - 1); invID = -1; } else { invNumber = EditorGUILayout.Popup("Inventory item:", invNumber, labelList.ToArray()); invID = inventoryManager.items[invNumber].id; } // if (inventoryManager.items[invNumber].canCarryMultiple) { doCount = EditorGUILayout.Toggle("Query count?", doCount); if (doCount) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Count is:", GUILayout.MaxWidth(70)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); intValue = EditorGUILayout.IntField(intValue); if (intValue < 1) { intValue = 1; } EditorGUILayout.EndHorizontal(); } } else { doCount = false; } if (settingsManager != null && settingsManager.playerSwitching == PlayerSwitching.Allow && !settingsManager.shareInventory) { EditorGUILayout.Space(); setPlayer = EditorGUILayout.Toggle("Check specific player?", setPlayer); if (setPlayer) { ChoosePlayerGUI(); } } else { setPlayer = false; } } else { EditorGUILayout.LabelField("No inventory items exist!"); invID = -1; invNumber = -1; } } else { EditorGUILayout.HelpBox("An Inventory Manager must be assigned for this Action to work", MessageType.Warning); } }
public override void ShowGUI(List<ActionParameter> parameters) { saveCheck = (SaveCheck) EditorGUILayout.EnumPopup ("Check to make:", saveCheck); if (saveCheck == SaveCheck.NumberOfSaveGames) { includeAutoSaves = EditorGUILayout.Toggle ("Include auto-save?", includeAutoSaves); } if (saveCheck != SaveCheck.IsSavingPossible) { intCondition = (IntCondition) EditorGUILayout.EnumPopup ("Value is:", intCondition); checkParameterID = Action.ChooseParameterGUI ("Integer:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField ("Integer:", intValue); } } }
private int ShowVarGUI (List<ActionParameter> parameters, List<GVar> vars, int ID, bool changeID) { if (vars.Count > 0) { if (changeID) { ID = ShowVarSelectorGUI (vars, ID); } variableNumber = Mathf.Min (variableNumber, vars.Count-1); getVarMethod = (GetVarMethod) EditorGUILayout.EnumPopup ("Compare with:", getVarMethod); if (parameters == null || parameters.Count == 0) { EditorGUILayout.BeginHorizontal (); } if (vars [variableNumber].type == VariableType.Boolean) { boolCondition = (BoolCondition) EditorGUILayout.EnumPopup (boolCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI ("Boolean:", parameters, checkParameterID, ParameterType.Boolean); if (checkParameterID < 0) { boolValue = (BoolValue) EditorGUILayout.EnumPopup ("Boolean:", boolValue); } } } else if (vars [variableNumber].type == VariableType.Integer) { intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI ("Integer:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField ("Integer:", intValue); } } } else if (vars [variableNumber].type == VariableType.PopUp) { intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI ("Value:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.Popup ("Value:", intValue, vars [variableNumber].popUps); } } } else if (vars [variableNumber].type == VariableType.Float) { intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI ("Float:", parameters, checkParameterID, ParameterType.Float); if (checkParameterID < 0) { floatValue = EditorGUILayout.FloatField ("Float:", floatValue); } } } else if (vars [variableNumber].type == VariableType.String) { boolCondition = (BoolCondition) EditorGUILayout.EnumPopup (boolCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI ("String:", parameters, checkParameterID, ParameterType.String); if (checkParameterID < 0) { stringValue = EditorGUILayout.TextField ("String:", stringValue); } } } if (getVarMethod == GetVarMethod.GlobalVariable) { if (!variablesManager) { variablesManager = AdvGame.GetReferences ().variablesManager; } if (variablesManager == null || variablesManager.vars == null || variablesManager.vars.Count == 0) { EditorGUILayout.HelpBox ("No Global variables exist!", MessageType.Info); } else { checkParameterID = Action.ChooseParameterGUI ("Global variable:", parameters, checkParameterID, ParameterType.GlobalVariable); if (checkParameterID < 0) { compareVariableID = ShowVarSelectorGUI (variablesManager.vars, compareVariableID); } } } else if (getVarMethod == GetVarMethod.LocalVariable) { if (!localVariables && GameObject.FindWithTag (Tags.gameEngine) && GameObject.FindWithTag (Tags.gameEngine).GetComponent<LocalVariables>()) { localVariables = GameObject.FindWithTag (Tags.gameEngine).GetComponent <LocalVariables>(); } if (localVariables == null || localVariables.localVars == null || localVariables.localVars.Count == 0) { EditorGUILayout.HelpBox ("No Local variables exist!", MessageType.Info); } else { checkParameterID = Action.ChooseParameterGUI ("Local variable:", parameters, checkParameterID, ParameterType.LocalVariable); if (checkParameterID < 0) { compareVariableID = ShowVarSelectorGUI (localVariables.localVars, compareVariableID); } } } if (parameters == null || parameters.Count == 0) { EditorGUILayout.EndHorizontal (); } } else { EditorGUILayout.HelpBox ("No variables exist!", MessageType.Info); ID = -1; variableNumber = -1; } return ID; }
private void ShowVarGUI(List<ActionParameter> parameters, ActionParameter parameter) { if (parameters == null || parameters.Count == 0 || parameter == null) { EditorGUILayout.HelpBox ("No parameters exist! Please define one in the Inspector.", MessageType.Warning); parameterLabel = ""; return; } parameterLabel = parameter.label; EditorGUILayout.BeginHorizontal (); if (parameter.parameterType == ParameterType.Boolean) { boolCondition = (BoolCondition) EditorGUILayout.EnumPopup (boolCondition); boolValue = (BoolValue) EditorGUILayout.EnumPopup (boolValue); } else if (parameter.parameterType == ParameterType.Integer) { intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); intValue = EditorGUILayout.IntField (intValue); } else if (parameter.parameterType == ParameterType.Float) { intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); floatValue = EditorGUILayout.FloatField (floatValue); } else if (parameter.parameterType == ParameterType.String) { boolCondition = (BoolCondition) EditorGUILayout.EnumPopup (boolCondition); stringValue = EditorGUILayout.TextField (stringValue); } else if (parameter.parameterType == ParameterType.GameObject) { compareObject = (GameObject) EditorGUILayout.ObjectField ("Is equal to:", compareObject, typeof (GameObject), true); compareObjectConstantID = FieldToID (compareObject, compareObjectConstantID); compareObject = IDToField (compareObject, compareObjectConstantID, false); } else if (parameter.parameterType == ParameterType.GlobalVariable) { if (AdvGame.GetReferences ().variablesManager == null || AdvGame.GetReferences ().variablesManager.vars == null || AdvGame.GetReferences ().variablesManager.vars.Count == 0) { EditorGUILayout.HelpBox ("No Global variables exist!", MessageType.Info); } else { compareVariableID = ShowVarSelectorGUI (AdvGame.GetReferences ().variablesManager.vars, compareVariableID); } } else if (parameter.parameterType == ParameterType.InventoryItem) { ShowInvSelectorGUI (compareVariableID); } else if (parameter.parameterType == ParameterType.LocalVariable) { if (isAssetFile) { EditorGUILayout.HelpBox ("Cannot compare local variables in an asset file.", MessageType.Warning); } else if (KickStarter.localVariables == null || KickStarter.localVariables.localVars == null || KickStarter.localVariables.localVars.Count == 0) { EditorGUILayout.HelpBox ("No Local variables exist!", MessageType.Info); } else { compareVariableID = ShowVarSelectorGUI (KickStarter.localVariables.localVars, compareVariableID); } } EditorGUILayout.EndHorizontal (); }
/** * <summary>Creates a new instance of the 'Inventory: Check' Action, set to query how many items the player is carrying</summary> * <param name = "numItems">The number of items to check for</param> * <param name = "condition">The condition to check for</param> * <returns>The generated Action</returns> */ public static ActionInventoryCheck CreateNew_NumberOfItemsCarrying(int numItems, IntCondition condition = IntCondition.EqualTo) { ActionInventoryCheck newAction = (ActionInventoryCheck)CreateInstance <ActionInventoryCheck>(); newAction.invCheckType = InvCheckType.NumberOfItemsCarrying; newAction.intValue = numItems; newAction.intCondition = condition; return(newAction); }
public override void ShowGUI() { sceneToCheck = (SceneToCheck) EditorGUILayout.EnumPopup ("Check previous or current:", sceneToCheck); chooseSceneBy = (ChooseSceneBy) EditorGUILayout.EnumPopup ("Choose scene by:", chooseSceneBy); EditorGUILayout.BeginHorizontal(); if (chooseSceneBy == ChooseSceneBy.Name) { EditorGUILayout.LabelField ("Scene name is:", GUILayout.Width (100f)); intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); sceneName = EditorGUILayout.TextField (sceneName); } else { EditorGUILayout.LabelField ("Scene number is:", GUILayout.Width (100f)); intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); sceneNumber = EditorGUILayout.IntField (sceneNumber); } EditorGUILayout.EndHorizontal(); }
public override void ShowGUI(List <ActionParameter> parameters) { bool showPlayerOptions = false; if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow) { playerParameterID = ChooseParameterGUI("Player:", parameters, playerParameterID, ParameterType.Integer); if (playerParameterID < 0) { playerID = ChoosePlayerGUI(playerID, true); showPlayerOptions = (playerID >= 0); } else { showPlayerOptions = true; } } if (showPlayerOptions) { sceneToCheck = (SceneToCheck)EditorGUILayout.EnumPopup("Check type:", sceneToCheck); if (chooseSceneByPlayerSwitching == -1) { chooseSceneByPlayerSwitching = (int)chooseSceneBy; } ChooseSceneByPlayerSwitching csbps = (ChooseSceneByPlayerSwitching)chooseSceneByPlayerSwitching; csbps = (ChooseSceneByPlayerSwitching)EditorGUILayout.EnumPopup("Choose scene by:", csbps); chooseSceneByPlayerSwitching = (int)csbps; chooseSceneBy = (ChooseSceneBy)chooseSceneByPlayerSwitching; EditorGUILayout.BeginHorizontal(); switch (csbps) { case ChooseSceneByPlayerSwitching.Name: EditorGUILayout.LabelField("Scene name is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNameParameterID = ChooseParameterGUI(string.Empty, parameters, sceneNameParameterID, ParameterType.String); if (sceneNameParameterID < 0) { sceneName = EditorGUILayout.TextField(sceneName); } break; case ChooseSceneByPlayerSwitching.Number: EditorGUILayout.LabelField("Scene number is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNumberParameterID = ChooseParameterGUI(string.Empty, parameters, sceneNumberParameterID, ParameterType.Integer); if (sceneNumberParameterID < 0) { sceneNumber = EditorGUILayout.IntField(sceneNumber); } break; default: break; } EditorGUILayout.EndHorizontal(); } else { sceneToCheck = (SceneToCheck)EditorGUILayout.EnumPopup("Check type:", sceneToCheck); chooseSceneBy = (ChooseSceneBy)EditorGUILayout.EnumPopup("Choose scene by:", chooseSceneBy); EditorGUILayout.BeginHorizontal(); switch (chooseSceneBy) { case ChooseSceneBy.Name: EditorGUILayout.LabelField("Scene name is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNameParameterID = ChooseParameterGUI(string.Empty, parameters, sceneNameParameterID, ParameterType.String); if (sceneNameParameterID < 0) { sceneName = EditorGUILayout.TextField(sceneName); } break; case ChooseSceneBy.Number: EditorGUILayout.LabelField("Scene number is:", GUILayout.Width(100f)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); sceneNumberParameterID = ChooseParameterGUI(string.Empty, parameters, sceneNumberParameterID, ParameterType.Integer); if (sceneNumberParameterID < 0) { sceneNumber = EditorGUILayout.IntField(sceneNumber); } break; default: break; } EditorGUILayout.EndHorizontal(); } }
/** * <summary>Creates a new instance of the 'Menu: Check num slots' Action</summary> * <param name = "menuName">The name of the Menu</param> * <param name = "elementName">The name of the element</param> * <param name = "numSlots">The number of slots to check for</param> * <param name = "condition">The condition to query</param> * <returns>The generated Action</returns> */ public static ActionMenuSlotCheck CreateNew(string menuName, string elementName, int numSlots, IntCondition condition = IntCondition.EqualTo) { ActionMenuSlotCheck newAction = (ActionMenuSlotCheck)CreateInstance <ActionMenuSlotCheck>(); newAction.menuToCheck = menuName; newAction.elementToCheck = elementName; newAction.intCondition = condition; newAction.numToCheck = numSlots; return(newAction); }
public override void ShowGUI(List<ActionParameter> parameters) { if (inventoryManager == null && AdvGame.GetReferences ().inventoryManager) { inventoryManager = AdvGame.GetReferences ().inventoryManager; } if (settingsManager == null && AdvGame.GetReferences ().settingsManager) { settingsManager = AdvGame.GetReferences ().settingsManager; } if (inventoryManager) { // Create a string List of the field's names (for the PopUp box) List<string> labelList = new List<string>(); int i = 0; if (parameterID == -1) { invNumber = -1; } if (inventoryManager.items.Count > 0) { foreach (InvItem _item in inventoryManager.items) { labelList.Add (_item.label); // If an item has been removed, make sure selected variable is still valid if (_item.id == invID) { invNumber = i; } i++; } if (invNumber == -1) { // Wasn't found (item was possibly deleted), so revert to zero Debug.LogWarning ("Previously chosen item no longer exists!"); invNumber = 0; invID = 0; } // parameterID = Action.ChooseParameterGUI ("Inventory item:", parameters, parameterID, ParameterType.InventoryItem); if (parameterID >= 0) { invNumber = Mathf.Min (invNumber, inventoryManager.items.Count-1); invID = -1; } else { invNumber = EditorGUILayout.Popup ("Inventory item:", invNumber, labelList.ToArray()); invID = inventoryManager.items[invNumber].id; } // if (inventoryManager.items[invNumber].canCarryMultiple) { doCount = EditorGUILayout.Toggle ("Query count?", doCount); if (doCount) { EditorGUILayout.BeginHorizontal (); EditorGUILayout.LabelField ("Count is:", GUILayout.MaxWidth (70)); intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); intValue = EditorGUILayout.IntField (intValue); if (intValue < 1) { intValue = 1; } EditorGUILayout.EndHorizontal (); } } else { doCount = false; } if (settingsManager != null && settingsManager.playerSwitching == PlayerSwitching.Allow && !settingsManager.shareInventory) { EditorGUILayout.Space (); setPlayer = EditorGUILayout.Toggle ("Check specific player?", setPlayer); if (setPlayer) { ChoosePlayerGUI (); } } else { setPlayer = false; } } else { EditorGUILayout.LabelField ("No inventory items exist!"); invID = -1; invNumber = -1; } } else { EditorGUILayout.HelpBox ("An Inventory Manager must be assigned for this Action to work", MessageType.Warning); } }
public void ShowGUI(int lowerValue, int upperValue) { if (!inventoryManager) { inventoryManager = AdvGame.GetReferences().inventoryManager; } if (inventoryManager) { // Create a string List of the field's names (for the PopUp box) List <string> labelList = new List <string>(); int i = 0; invNumber = -1; if (inventoryManager.items.Count > 0) { foreach (InvItem _item in inventoryManager.items) { labelList.Add(_item.label); // If an item has been removed, make sure selected variable is still valid if (_item.id == invID) { invNumber = i; } i++; } if (invNumber == -1) { // Wasn't found (item was possibly deleted), so revert to zero Debug.LogWarning("Previously chosen item no longer exists!"); invNumber = 0; invID = 0; } EditorGUILayout.BeginHorizontal(); invNumber = EditorGUILayout.Popup("Inventory item:", invNumber, labelList.ToArray()); invID = inventoryManager.items[invNumber].id; EditorGUILayout.EndHorizontal(); if (lowerValue > upperValue) { lowerValue = upperValue; } else if (upperValue < lowerValue) { upperValue = lowerValue; } if (inventoryManager.items[invNumber].canCarryMultiple) { doCount = EditorGUILayout.Toggle("Query count?", doCount); if (doCount) { EditorGUILayout.BeginHorizontal(""); EditorGUILayout.LabelField("Count is:", GUILayout.MaxWidth(70)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); intValue = EditorGUILayout.IntField(intValue); if (intValue < 1) { intValue = 1; } EditorGUILayout.EndHorizontal(); } } else { doCount = false; } if (doCount) { resultActionTrue = (Action.ResultAction)EditorGUILayout.EnumPopup("If condition is met:", (Action.ResultAction)resultActionTrue); } else { resultActionTrue = (Action.ResultAction)EditorGUILayout.EnumPopup("If player is carrying:", (Action.ResultAction)resultActionTrue); } if (resultActionTrue == Action.ResultAction.RunCutscene) { linkedCutsceneTrue = (Cutscene)EditorGUILayout.ObjectField("Cutscene to trigger:", linkedCutsceneTrue, typeof(Cutscene), true); } else if (resultActionTrue == Action.ResultAction.Skip) { skipActionTrue = EditorGUILayout.IntSlider("Action # to skip to:", skipActionTrue, lowerValue, upperValue); } if (doCount) { resultActionFail = (Action.ResultAction)EditorGUILayout.EnumPopup("If condition is not met:", (Action.ResultAction)resultActionFail); } else { resultActionFail = (Action.ResultAction)EditorGUILayout.EnumPopup("If player is not carrying:", (Action.ResultAction)resultActionFail); } if (resultActionFail == Action.ResultAction.RunCutscene) { linkedCutsceneFail = (Cutscene)EditorGUILayout.ObjectField("Cutscene to trigger:", linkedCutsceneFail, typeof(Cutscene), true); } else if (resultActionFail == Action.ResultAction.Skip) { skipActionFail = EditorGUILayout.IntSlider("Action # to skip to:", skipActionFail, lowerValue, upperValue); } } else { EditorGUILayout.LabelField("No inventory items exist!"); invID = -1; invNumber = -1; } } }
override public void ShowGUI(List <ActionParameter> parameters) { if (AdvGame.GetReferences().inventoryManager) { inventoryManager = AdvGame.GetReferences().inventoryManager; } if (inventoryManager) { // Create a string List of the field's names (for the PopUp box) List <string> labelList = new List <string>(); int i = 0; if (invParameterID == -1) { invNumber = -1; } if (inventoryManager.items.Count > 0) { foreach (InvItem _item in inventoryManager.items) { labelList.Add(_item.label); // If an item has been removed, make sure selected variable is still valid if (_item.id == invID) { invNumber = i; } i++; } if (invNumber == -1) { // Wasn't found (item was possibly deleted), so revert to zero ACDebug.LogWarning("Previously chosen item no longer exists!"); invNumber = 0; invID = 0; } useActive = EditorGUILayout.Toggle("Affect active container?", useActive); if (!useActive) { parameterID = Action.ChooseParameterGUI("Container:", parameters, parameterID, ParameterType.GameObject); if (parameterID >= 0) { constantID = 0; container = null; } else { container = (Container)EditorGUILayout.ObjectField("Container:", container, typeof(Container), true); constantID = FieldToID <Container> (container, constantID); container = IDToField <Container> (container, constantID, false); } } // invParameterID = Action.ChooseParameterGUI("Item to check:", parameters, invParameterID, ParameterType.InventoryItem); if (invParameterID >= 0) { invNumber = Mathf.Min(invNumber, inventoryManager.items.Count - 1); invID = -1; } else { invNumber = EditorGUILayout.Popup("Item to check:", invNumber, labelList.ToArray()); invID = inventoryManager.items[invNumber].id; } // if (inventoryManager.items[invNumber].canCarryMultiple) { doCount = EditorGUILayout.Toggle("Query count?", doCount); if (doCount) { EditorGUILayout.BeginHorizontal(""); EditorGUILayout.LabelField("Count is:", GUILayout.MaxWidth(70)); intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); intValue = EditorGUILayout.IntField(intValue); if (intValue < 1) { intValue = 1; } EditorGUILayout.EndHorizontal(); } } else { doCount = false; } } else { EditorGUILayout.LabelField("No inventory items exist!"); invID = -1; invNumber = -1; } } }
public override void ShowGUI (List<ActionParameter> parameters) { dragParameterID = Action.ChooseParameterGUI ("Drag object:", parameters, dragParameterID, ParameterType.GameObject); if (dragParameterID < 0 || method == TrackCheckMethod.WithinTrackRegion) { string label = (dragParameterID < 0) ? "Placeholder drag object:" : "Drag object"; dragObject = (Moveable_Drag) EditorGUILayout.ObjectField (label, dragObject, typeof (Moveable_Drag), true); dragConstantID = FieldToID <Moveable_Drag> (dragObject, dragConstantID); dragObject = IDToField <Moveable_Drag> (dragObject, dragConstantID, false); if (dragObject != null && dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox ("The chosen Drag object must be in 'Lock To Track' mode", MessageType.Warning); } } dragTrackParameterID = Action.ChooseParameterGUI ("Track (optional):", parameters, dragTrackParameterID, ParameterType.GameObject); if (dragTrackParameterID < 0) { dragTrack = (DragTrack) EditorGUILayout.ObjectField ("Track (optional):", dragTrack, typeof (DragTrack), true); dragTrackConstantID = FieldToID<DragTrack> (dragTrack, dragTrackConstantID); dragTrack = IDToField<DragTrack> (dragTrack, dragTrackConstantID, false); } method = (TrackCheckMethod) EditorGUILayout.EnumPopup ("Method:", method); if (method == TrackCheckMethod.PositionValue) { condition = (IntCondition) EditorGUILayout.EnumPopup ("Condition:", condition); checkPositionParameterID = Action.ChooseParameterGUI ("Position:", parameters, checkPositionParameterID, ParameterType.Float); if (checkPositionParameterID < 0) { checkPosition = EditorGUILayout.Slider ("Position:", checkPosition, 0f, 1f); } if (condition == IntCondition.EqualTo || condition == IntCondition.NotEqualTo) { errorMargin = EditorGUILayout.Slider ("Error margin:", errorMargin, 0f, 1f); } } else if (method == TrackCheckMethod.WithinTrackRegion) { if (dragObject == null) { EditorGUILayout.HelpBox ("A drag object must be assigned above for snap regions to display.", MessageType.Info); } else if (dragObject.dragMode != DragMode.LockToTrack) { EditorGUILayout.HelpBox ("The chosen Drag object is not locked to a Track.", MessageType.Warning); } else { snapParameterID = Action.ChooseParameterGUI ("Region ID:", parameters, snapParameterID, ParameterType.Integer); if (snapParameterID < 0) { List<string> labelList = new List<string>(); int snapIndex = 0; DragTrack track = (dragTrack != null) ? dragTrack : dragObject.track; if (track && track.allTrackSnapData != null && track.allTrackSnapData.Count > 0) { for (int i=0; i<track.allTrackSnapData.Count; i++) { labelList.Add (track.allTrackSnapData[i].EditorLabel); if (track.allTrackSnapData[i].ID == snapID) { snapIndex = i; } } snapIndex = EditorGUILayout.Popup ("Region:", snapIndex, labelList.ToArray ()); snapID = track.allTrackSnapData[snapIndex].ID; } else { EditorGUILayout.HelpBox("The chosen Drag object's Track has no Regions defined.", MessageType.Warning); } } } } }
public void ShowGUI(int lowerValue, int upperValue) { if (!variablesManager) { variablesManager = AdvGame.GetReferences().variablesManager; } if (variablesManager) { // Create a string List of the field's names (for the PopUp box) List <string> labelList = new List <string>(); int i = 0; variableNumber = -1; if (variablesManager.vars.Count > 0) { foreach (GVar _var in variablesManager.vars) { labelList.Add(_var.label); // If a GlobalVar variable has been removed, make sure selected variable is still valid if (_var.id == variableID) { variableNumber = i; } i++; } if (variableNumber == -1) { // Wasn't found (variable was deleted?), so revert to zero Debug.LogWarning("Previously chosen variable no longer exists!"); variableNumber = 0; variableID = 0; } EditorGUILayout.BeginHorizontal(); variableNumber = EditorGUILayout.Popup(variableNumber, labelList.ToArray()); variableID = variablesManager.vars[variableNumber].id; if (variablesManager.vars[variableNumber].type == VariableType.Boolean) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); boolValue = (BoolValue)EditorGUILayout.EnumPopup(boolValue); } else { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); intValue = EditorGUILayout.IntField(intValue); } EditorGUILayout.EndHorizontal(); if (lowerValue > upperValue || lowerValue == upperValue) { lowerValue = upperValue; } resultActionTrue = (Action.ResultAction)EditorGUILayout.EnumPopup("If condition is met:", (Action.ResultAction)resultActionTrue); if (resultActionTrue == Action.ResultAction.RunCutscene) { linkedCutsceneTrue = (Cutscene)EditorGUILayout.ObjectField("Cutscene to run:", linkedCutsceneTrue, typeof(Cutscene), true); } else if (resultActionTrue == Action.ResultAction.Skip) { skipActionTrue = EditorGUILayout.IntSlider("Action # to skip to:", skipActionTrue, lowerValue, upperValue); } resultActionFail = (Action.ResultAction)EditorGUILayout.EnumPopup("If condition is not met:", (Action.ResultAction)resultActionFail); if (resultActionFail == Action.ResultAction.RunCutscene) { linkedCutsceneFail = (Cutscene)EditorGUILayout.ObjectField("Cutscene to run:", linkedCutsceneFail, typeof(Cutscene), true); } else if (resultActionFail == Action.ResultAction.Skip) { skipActionFail = EditorGUILayout.IntSlider("Action # to skip to:", skipActionFail, lowerValue, upperValue); } } else { EditorGUILayout.LabelField("No global variables exist!"); variableID = -1; variableNumber = -1; } } }
/** * <summary>Creates a new instance of the 'Object: Check track position' Action</summary> * <param name = "dragObject">The moveable object to query</param> * <param name = "trackPosition">The track position to check for</param> * <param name = "condition">The condition to make</param> * <param name = "errorMargin">The maximum difference between the queried track position, and the true track position, for the condition to be met</param> * <returns>The generated Action</returns> */ public static ActionTrackCheck CreateNew (Moveable_Drag dragObject, float trackPosition, IntCondition condition = IntCondition.MoreThan, float errorMargin = 0.05f) { ActionTrackCheck newAction = (ActionTrackCheck) CreateInstance <ActionTrackCheck>(); newAction.method = TrackCheckMethod.PositionValue; newAction.dragObject = dragObject; newAction.checkPosition = trackPosition; newAction.errorMargin = errorMargin; return newAction; }
private void ShowVarGUI(List <ActionParameter> parameters, ActionParameter parameter) { if (parameters == null || parameters.Count == 0 || parameter == null) { EditorGUILayout.HelpBox("No parameters exist! Please define one in the Inspector.", MessageType.Warning); parameterLabel = ""; return; } parameterLabel = parameter.label; EditorGUILayout.BeginHorizontal(); if (parameter.parameterType == ParameterType.Boolean) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); boolValue = (BoolValue)EditorGUILayout.EnumPopup(boolValue); } else if (parameter.parameterType == ParameterType.Integer) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); intValue = EditorGUILayout.IntField(intValue); } else if (parameter.parameterType == ParameterType.Float) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); floatValue = EditorGUILayout.FloatField(floatValue); } else if (parameter.parameterType == ParameterType.String) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); stringValue = EditorGUILayout.TextField(stringValue); } else if (parameter.parameterType == ParameterType.GameObject) { compareObject = (GameObject)EditorGUILayout.ObjectField("Is equal to:", compareObject, typeof(GameObject), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); compareObjectConstantID = FieldToID(compareObject, compareObjectConstantID); compareObject = IDToField(compareObject, compareObjectConstantID, false); } else if (parameter.parameterType == ParameterType.UnityObject) { compareUnityObject = (Object)EditorGUILayout.ObjectField("Is equal to:", compareUnityObject, typeof(Object), true); } else if (parameter.parameterType == ParameterType.GlobalVariable) { if (AdvGame.GetReferences().variablesManager == null || AdvGame.GetReferences().variablesManager.vars == null || AdvGame.GetReferences().variablesManager.vars.Count == 0) { EditorGUILayout.HelpBox("No Global variables exist!", MessageType.Info); } else { compareVariableID = ShowVarSelectorGUI(AdvGame.GetReferences().variablesManager.vars, compareVariableID); } } else if (parameter.parameterType == ParameterType.InventoryItem) { ShowInvSelectorGUI(compareVariableID); } else if (parameter.parameterType == ParameterType.LocalVariable) { if (isAssetFile) { EditorGUILayout.HelpBox("Cannot compare local variables in an asset file.", MessageType.Warning); } else if (KickStarter.localVariables == null || KickStarter.localVariables.localVars == null || KickStarter.localVariables.localVars.Count == 0) { EditorGUILayout.HelpBox("No Local variables exist!", MessageType.Info); } else { compareVariableID = ShowVarSelectorGUI(KickStarter.localVariables.localVars, compareVariableID); } } else if (parameter.parameterType == ParameterType.Vector3) { vectorCondition = (VectorCondition)EditorGUILayout.EnumPopup("Condition:", vectorCondition); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (vectorCondition == VectorCondition.MagnitudeGreaterThan) { floatValue = EditorGUILayout.FloatField("Float:", floatValue); } else if (vectorCondition == VectorCondition.EqualTo) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Vector3:", GUILayout.MaxWidth(60f)); vector3Value = EditorGUILayout.Vector3Field("", vector3Value); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.EndHorizontal(); }
override public void ShowGUI(List <ActionParameter> parameters) { knotName = EditorGUILayout.TextField("Knot/Stitch:", knotName); condition = (IntCondition)EditorGUILayout.EnumPopup("Condition:", condition); compareNumber = EditorGUILayout.IntField("Number:", compareNumber); }
public override void ShowGUI(List<ActionParameter> parameters) { menuToCheckParameterID = Action.ChooseParameterGUI ("Menu containing element:", parameters, menuToCheckParameterID, ParameterType.String); if (menuToCheckParameterID < 0) { menuToCheck = EditorGUILayout.TextField ("Menu containing element:", menuToCheck); } elementToCheckParameterID = Action.ChooseParameterGUI ("Element to check:", parameters, elementToCheckParameterID, ParameterType.String); if (elementToCheckParameterID < 0) { elementToCheck = EditorGUILayout.TextField ("Element to check:", elementToCheck); } EditorGUILayout.BeginHorizontal (); EditorGUILayout.LabelField ("Number of slots is:", GUILayout.Width (145f)); intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); EditorGUILayout.EndHorizontal (); numToCheckParameterID = Action.ChooseParameterGUI ("Value:", parameters, numToCheckParameterID, ParameterType.Integer); if (numToCheckParameterID < 0) { numToCheck = EditorGUILayout.IntField ("Value:", numToCheck); } }
public override void ShowGUI(List<ActionParameter> parameters) { checkType = (InputCheckType) EditorGUILayout.EnumPopup ("Check type:" , checkType); if (checkType == InputCheckType.Axis || checkType == InputCheckType.Button) { parameterID = Action.ChooseParameterGUI (checkType.ToString () + " name:", parameters, parameterID, ParameterType.String); if (parameterID < 0) { inputName = EditorGUILayout.TextField (checkType.ToString () + " name:", inputName); } if (checkType == InputCheckType.Axis) { EditorGUILayout.BeginHorizontal (); axisCondition = (IntCondition) EditorGUILayout.EnumPopup (axisCondition); axisValue = EditorGUILayout.FloatField (axisValue); EditorGUILayout.EndHorizontal (); } } }
/** * <summary>Creates a new instance of the 'Scene: Check attribute' Action, set to check a Float attribute</summary> * <param name = "attributeID">The ID number of the Float attribute</param> * <param name = "value">The attribute value to check for</param> * <param name = "condition">The condition to query</param> * <returns>The generated Action</returns> */ public static ActionSceneCheckAttribute CreateNew(int attributeID, float value, IntCondition condition = IntCondition.EqualTo) { ActionSceneCheckAttribute newAction = (ActionSceneCheckAttribute)CreateInstance <ActionSceneCheckAttribute>(); newAction.attributeID = attributeID; newAction.floatValue = value; newAction.intCondition = condition; return(newAction); }
public override void ShowGUI(List<ActionParameter> parameters) { if (AdvGame.GetReferences ().inventoryManager) { inventoryManager = AdvGame.GetReferences ().inventoryManager; } if (inventoryManager) { // Create a string List of the field's names (for the PopUp box) List<string> labelList = new List<string>(); int i = 0; if (invParameterID == -1) { invNumber = -1; } if (inventoryManager.items.Count > 0) { foreach (InvItem _item in inventoryManager.items) { labelList.Add (_item.label); // If an item has been removed, make sure selected variable is still valid if (_item.id == invID) { invNumber = i; } i++; } if (invNumber == -1) { // Wasn't found (item was possibly deleted), so revert to zero ACDebug.LogWarning ("Previously chosen item no longer exists!"); invNumber = 0; invID = 0; } useActive = EditorGUILayout.Toggle ("Affect active container?", useActive); if (!useActive) { parameterID = Action.ChooseParameterGUI ("Container:", parameters, parameterID, ParameterType.GameObject); if (parameterID >= 0) { constantID = 0; container = null; } else { container = (Container) EditorGUILayout.ObjectField ("Container:", container, typeof (Container), true); constantID = FieldToID <Container> (container, constantID); container = IDToField <Container> (container, constantID, false); } } // invParameterID = Action.ChooseParameterGUI ("Item to check:", parameters, invParameterID, ParameterType.InventoryItem); if (invParameterID >= 0) { invNumber = Mathf.Min (invNumber, inventoryManager.items.Count-1); invID = -1; } else { invNumber = EditorGUILayout.Popup ("Item to check:", invNumber, labelList.ToArray()); invID = inventoryManager.items[invNumber].id; } // if (inventoryManager.items[invNumber].canCarryMultiple) { doCount = EditorGUILayout.Toggle ("Query count?", doCount); if (doCount) { EditorGUILayout.BeginHorizontal (""); EditorGUILayout.LabelField ("Count is:", GUILayout.MaxWidth (70)); intCondition = (IntCondition) EditorGUILayout.EnumPopup (intCondition); intValue = EditorGUILayout.IntField (intValue); if (intValue < 1) { intValue = 1; } EditorGUILayout.EndHorizontal (); } } else { doCount = false; } } else { EditorGUILayout.LabelField ("No inventory items exist!"); invID = -1; invNumber = -1; } } }
private int ShowVarGUI(List <ActionParameter> parameters, List <GVar> vars, int ID, bool changeID) { if (vars.Count > 0) { if (changeID) { ID = ShowVarSelectorGUI(vars, ID); } variableNumber = Mathf.Min(variableNumber, vars.Count - 1); getVarMethod = (GetVarMethod)EditorGUILayout.EnumPopup("Compare with:", getVarMethod); if (parameters == null || parameters.Count == 0) { EditorGUILayout.BeginHorizontal(); } if (vars [variableNumber].type == VariableType.Boolean) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Boolean:", parameters, checkParameterID, ParameterType.Boolean); if (checkParameterID < 0) { boolValue = (BoolValue)EditorGUILayout.EnumPopup("Boolean:", boolValue); } } } else if (vars [variableNumber].type == VariableType.Integer) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Integer:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField("Integer:", intValue); } } } else if (vars [variableNumber].type == VariableType.PopUp) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Value:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.Popup("Value:", intValue, vars [variableNumber].popUps); } } } else if (vars [variableNumber].type == VariableType.Float) { intCondition = (IntCondition)EditorGUILayout.EnumPopup(intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Float:", parameters, checkParameterID, ParameterType.Float); if (checkParameterID < 0) { floatValue = EditorGUILayout.FloatField("Float:", floatValue); } } } else if (vars [variableNumber].type == VariableType.String) { boolCondition = (BoolCondition)EditorGUILayout.EnumPopup(boolCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("String:", parameters, checkParameterID, ParameterType.String); if (checkParameterID < 0) { stringValue = EditorGUILayout.TextField("String:", stringValue); } } } if (getVarMethod == GetVarMethod.GlobalVariable) { if (AdvGame.GetReferences().variablesManager == null || AdvGame.GetReferences().variablesManager.vars == null || AdvGame.GetReferences().variablesManager.vars.Count == 0) { EditorGUILayout.HelpBox("No Global variables exist!", MessageType.Info); } else { checkParameterID = Action.ChooseParameterGUI("Global variable:", parameters, checkParameterID, ParameterType.GlobalVariable); if (checkParameterID < 0) { compareVariableID = ShowVarSelectorGUI(AdvGame.GetReferences().variablesManager.vars, compareVariableID); } } } else if (getVarMethod == GetVarMethod.LocalVariable) { if (KickStarter.localVariables == null || KickStarter.localVariables.localVars == null || KickStarter.localVariables.localVars.Count == 0) { EditorGUILayout.HelpBox("No Local variables exist!", MessageType.Info); } else { checkParameterID = Action.ChooseParameterGUI("Local variable:", parameters, checkParameterID, ParameterType.LocalVariable); if (checkParameterID < 0) { compareVariableID = ShowVarSelectorGUI(KickStarter.localVariables.localVars, compareVariableID); } } } if (parameters == null || parameters.Count == 0) { EditorGUILayout.EndHorizontal(); } } else { EditorGUILayout.HelpBox("No variables exist!", MessageType.Info); ID = -1; variableNumber = -1; } return(ID); }
private int ShowVarGUI(List <ActionParameter> parameters, List <GVar> _vars, int ID, bool changeID) { VariableType showType = VariableType.Boolean; if (changeID) { if (_vars != null && _vars.Count > 0) { ID = ShowVarSelectorGUI(_vars, ID, "Variable:"); variableNumber = Mathf.Min(variableNumber, _vars.Count - 1); getVarMethod = (GetVarMethod)EditorGUILayout.EnumPopup("Compare with:", getVarMethod); showType = _vars[variableNumber].type; } else { EditorGUILayout.HelpBox("No variables exist!", MessageType.Info); ID = -1; variableNumber = -1; return(ID); } placeholderType = showType; } else { showType = placeholderType; } switch (showType) { case VariableType.Boolean: boolCondition = (BoolCondition)EditorGUILayout.EnumPopup("Condition:", boolCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Boolean:", parameters, checkParameterID, ParameterType.Boolean); if (checkParameterID < 0) { boolValue = (BoolValue)EditorGUILayout.EnumPopup("Boolean:", boolValue); } } break; case VariableType.Integer: intCondition = (IntCondition)EditorGUILayout.EnumPopup("Condition:", intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Integer:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { intValue = EditorGUILayout.IntField("Integer:", intValue); } } break; case VariableType.Float: intCondition = (IntCondition)EditorGUILayout.EnumPopup("Condition:", intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Float:", parameters, checkParameterID, ParameterType.Float); if (checkParameterID < 0) { floatValue = EditorGUILayout.FloatField("Float:", floatValue); } } break; case VariableType.PopUp: intCondition = (IntCondition)EditorGUILayout.EnumPopup("Condition:", intCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("Value:", parameters, checkParameterID, ParameterType.Integer); if (checkParameterID < 0) { if (changeID && _vars != null && _vars.Count > variableNumber) { string[] popUpLabels = _vars[variableNumber].GenerateEditorPopUpLabels(); intValue = EditorGUILayout.Popup("Value:", intValue, popUpLabels); placeholderPopUpLabelDataID = _vars[variableNumber].popUpID; } else if (!changeID && AdvGame.GetReferences().variablesManager != null) { // Parameter override placeholderPopUpLabelDataID = AdvGame.GetReferences().variablesManager.ShowPlaceholderPresetData(placeholderPopUpLabelDataID); PopUpLabelData popUpLabelData = AdvGame.GetReferences().variablesManager.GetPopUpLabelData(placeholderPopUpLabelDataID); if (popUpLabelData != null && placeholderPopUpLabelDataID > 0) { // Show placeholder labels intValue = EditorGUILayout.Popup("Index value:", intValue, popUpLabelData.GenerateEditorPopUpLabels()); } else { intValue = EditorGUILayout.IntField("Index value:", intValue); } } else { intValue = EditorGUILayout.IntField("Index value:", intValue); } } } break; case VariableType.String: boolCondition = (BoolCondition)EditorGUILayout.EnumPopup("Condition:", boolCondition); if (getVarMethod == GetVarMethod.EnteredValue) { checkParameterID = Action.ChooseParameterGUI("String:", parameters, checkParameterID, ParameterType.String); if (checkParameterID < 0) { stringValue = EditorGUILayout.TextField("String:", stringValue); } } checkCase = EditorGUILayout.Toggle("Case-sensitive?", checkCase); break; case VariableType.Vector3: vectorCondition = (VectorCondition)EditorGUILayout.EnumPopup("Condition:", vectorCondition); if (getVarMethod == GetVarMethod.EnteredValue) { if (vectorCondition == VectorCondition.MagnitudeGreaterThan) { checkParameterID = Action.ChooseParameterGUI("Float:", parameters, checkParameterID, ParameterType.Float); if (checkParameterID < 0) { floatValue = EditorGUILayout.FloatField("Float:", floatValue); } } else if (vectorCondition == VectorCondition.EqualTo) { checkParameterID = Action.ChooseParameterGUI("Vector3:", parameters, checkParameterID, ParameterType.Vector3); if (checkParameterID < 0) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Vector3:", GUILayout.MaxWidth(60f)); vector3Value = EditorGUILayout.Vector3Field("", vector3Value); EditorGUILayout.EndHorizontal(); } } } break; default: break; } if (getVarMethod == GetVarMethod.GlobalVariable) { if (AdvGame.GetReferences().variablesManager == null || AdvGame.GetReferences().variablesManager.vars == null || AdvGame.GetReferences().variablesManager.vars.Count == 0) { EditorGUILayout.HelpBox("No Global variables exist!", MessageType.Info); } else { checkParameterID = Action.ChooseParameterGUI("Global variable:", parameters, checkParameterID, ParameterType.GlobalVariable); if (checkParameterID < 0) { compareVariableID = ShowVarSelectorGUI(AdvGame.GetReferences().variablesManager.vars, compareVariableID, "Global variable:"); } } } else if (getVarMethod == GetVarMethod.LocalVariable) { if (localVariables == null || localVariables.localVars == null || localVariables.localVars.Count == 0) { EditorGUILayout.HelpBox("No Local variables exist!", MessageType.Info); } else { checkParameterID = Action.ChooseParameterGUI("Local variable:", parameters, checkParameterID, ParameterType.LocalVariable); if (checkParameterID < 0) { compareVariableID = ShowVarSelectorGUI(localVariables.localVars, compareVariableID, "Local variable:"); } } } else if (getVarMethod == GetVarMethod.ComponentVariable) { checkParameterID = Action.ChooseParameterGUI("Component variable:", parameters, checkParameterID, ParameterType.ComponentVariable); if (checkParameterID < 0) { compareVariables = (Variables)EditorGUILayout.ObjectField("Component", compareVariables, typeof(Variables), true); compareVariablesConstantID = FieldToID <Variables> (compareVariables, compareVariablesConstantID); compareVariables = IDToField <Variables> (compareVariables, compareVariablesConstantID, false); if (compareVariables != null) { compareVariableID = ShowVarSelectorGUI(compareVariables.vars, compareVariableID, "Component variable:"); } } } return(ID); }