public void Trigger(OnDialogueAction actionToTrigger, string[] actionParameters) { if (actionToTrigger == action) { onTrigger.Invoke(actionParameters); } }
public void SetOnExitAction(OnDialogueAction newExitAction) { Undo.RecordObject(this, "Modify OnExitAction"); onExitAction = newExitAction; EditorUtility.SetDirty(this); SetOnDialogueAction(onExitAction, onExitActionParameter); }
public void Trigger(OnDialogueAction actionToTrigger, string[] actionParameters) { UnityEvent <string[]> unityEvent; if (actionLookup.TryGetValue(actionToTrigger, out unityEvent)) { unityEvent.Invoke(actionParameters); } }
public void Trigger(OnDialogueAction actionToTrigger, string[] actionParameters) { // if(actionToTrigger == action) // { // onTrigger.Invoke(actionParameters); // } if (actionLookup.ContainsKey(actionToTrigger)) { actionLookup[actionToTrigger].Invoke(actionParameters); } }
// Value controlled by Dialogue Editor GUI public void SetHasOnExitAction(bool toggleValue) { Undo.RecordObject(this, "Toggle Exit Action"); hasOnExitAction = toggleValue; if (!hasOnExitAction) { onExitAction = OnDialogueAction.None; onExitActionParameter.Clear(); } EditorUtility.SetDirty(this); }
private void SetOnDialogueAction(OnDialogueAction dialogueAction, List <string> actionParameter) { int paramLength = actionParameter.Count; switch (dialogueAction) { case OnDialogueAction.GiveQuest: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add(""); } return; case OnDialogueAction.MoveWindow: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add("0"); } break; case OnDialogueAction.CompleteObjective: if (paramLength != 2) { actionParameter.Clear(); actionParameter.Add(""); actionParameter.Add(""); } return; case OnDialogueAction.GiveItem: if (paramLength != 2) { actionParameter.Clear(); actionParameter.Add(""); actionParameter.Add("0"); } return; case OnDialogueAction.LocationAvailable: if (paramLength != 2) { actionParameter.Clear(); actionParameter.Add(""); actionParameter.Add("False"); } return; default: actionParameter.Clear(); return; } }
private void TriggerAction(OnDialogueAction action, string[] actionParameters) { if (action == OnDialogueAction.None) { return; } foreach (DialogueTrigger trigger in GetComponents <DialogueTrigger>()) { trigger.Trigger(action, actionParameters); } }
private static void BuildDialogueActionsSelect( DialogueNode node, OnDialogueAction dialogueAction, string[] actionParams, List <string> dialogueActions) { switch (dialogueAction) { case OnDialogueAction.None: break; case OnDialogueAction.ChangeBackground: dialogueActions.Add(GeneratePhotoSelect(actionParams[0])); break; case OnDialogueAction.GiveItem: dialogueActions.Add(GenerateItemSelect(actionParams[0])); dialogueActions.Add(GenerateItemCountField(actionParams[1], node.name)); break; case OnDialogueAction.GiveMoney: case OnDialogueAction.GiveEnergy: case OnDialogueAction.ModifyDP: dialogueActions.Add(GenerateNumberField(actionParams[0], "Amount:", 47, node.name)); break; case OnDialogueAction.LoadScene: case OnDialogueAction.ChangeGirlLocation: dialogueActions.Add(GenerateSceneSelect(actionParams, dialogueActions)); break; case OnDialogueAction.PlayAudioSample: string groupName = GenerateSampleGroupSelect(actionParams[0]); dialogueActions.Add(groupName); dialogueActions.Add(GenerateSampleSelect(groupName, actionParams[1])); break; case OnDialogueAction.PlayMusicTrack: dialogueActions.Add(GenerateMusicSelect(actionParams[0])); break; case OnDialogueAction.PlayVoiceLine: string characterName = GenerateCharacterVoiceSelect(actionParams[0]); dialogueActions.Add(characterName); dialogueActions.Add(GenerateVoiceLineSelect(characterName, actionParams[1])); break; case OnDialogueAction.ChangeCG: dialogueActions.Add(GenerateCGSelect(actionParams[0])); break; } }
public void SetOnExitAction(OnDialogueAction newExitAction) { Undo.RecordObject(this, "Modify OnExitAction"); onExitAction = newExitAction; EditorUtility.SetDirty(this); int paramLength = onExitActionParameter.Count; switch (onExitAction) { case OnDialogueAction.GiveQuest: if (paramLength != 1) { onExitActionParameter.Clear(); onExitActionParameter.Add(""); } return; case OnDialogueAction.MoveWindow: if (paramLength != 1) { onEnterActionParameter.Clear(); onEnterActionParameter.Add("0"); } break; case OnDialogueAction.CompleteObjective: if (paramLength != 2) { onExitActionParameter.Clear(); onExitActionParameter.Add(""); onExitActionParameter.Add(""); } return; case OnDialogueAction.GiveItem: if (paramLength != 2) { onExitActionParameter.Clear(); onExitActionParameter.Add(""); onExitActionParameter.Add("0"); } return; default: onExitActionParameter.Clear(); return; } }
private static void BuildDialogueActionsSelect( DialogueNode node, OnDialogueAction dialogueAction, string[] actionParams, List <string> dialogueActions) { switch (dialogueAction) { case OnDialogueAction.None: break; case OnDialogueAction.CompleteObjective: Quest selectedQuest; for (int i = 0; i < actionParams.Length; i++) { selectedQuest = GenerateQuestSelect(actionParams[i]); GUILayout.BeginHorizontal(); if (selectedQuest != null) { dialogueActions.Add(selectedQuest.name); string[] questObjectives = selectedQuest.GetObjectives().ToArray(); int actionIndex = node.GetExitActionIndex(); if (actionIndex >= questObjectives.Length) { Debug.Log("Action index too high"); actionIndex = 0; } EditorGUILayout.LabelField("Objective:", GUILayout.Width(58)); actionIndex = EditorGUILayout.Popup(actionIndex, questObjectives); dialogueActions.Add(questObjectives[actionIndex]); node.SetExitActionIndex(actionIndex); } else { dialogueActions.Add(""); EditorGUILayout.LabelField("Objective:", GUILayout.Width(58)); dialogueActions.Add(EditorGUILayout.TextField(actionParams[1])); } GUILayout.EndHorizontal(); i++; } break; case OnDialogueAction.GiveQuest: selectedQuest = GenerateQuestSelect(actionParams[0]); if (selectedQuest != null) { dialogueActions.Add(selectedQuest.name); } else { dialogueActions.Add(actionParams[0]); } break; case OnDialogueAction.GiveItem: InventoryItem item = InventoryItem.GetFromID(actionParams[0]); item = GenerateItemSelect(item); if (item != null) { dialogueActions.Add(item.GetItemID()); } else { dialogueActions.Add(""); } dialogueActions.Add(GenerateItemCountField(actionParams[1])); break; case OnDialogueAction.MoveWindow: dialogueActions.Add(GenerateNumberField(actionParams[0], "Y offset:", 50)); break; } }
private void SetOnDialogueAction(OnDialogueAction dialogueAction, List <string> actionParameter) { int paramLength = actionParameter.Count; switch (dialogueAction) { case OnDialogueAction.ChangeBackground: case OnDialogueAction.ChangeCG: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add(""); } return; case OnDialogueAction.GiveItem: if (paramLength != 2) { actionParameter.Clear(); actionParameter.Add(""); actionParameter.Add("0"); } return; case OnDialogueAction.GiveMoney: case OnDialogueAction.GiveEnergy: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add("0"); } return; case OnDialogueAction.LoadScene: case OnDialogueAction.ChangeGirlLocation: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add(""); } return; case OnDialogueAction.PlayAudioSample: case OnDialogueAction.PlayVoiceLine: if (paramLength != 2) { actionParameter.Clear(); actionParameter.Add(""); actionParameter.Add(""); } break; case OnDialogueAction.PlayMusicTrack: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add(""); } break; case OnDialogueAction.ModifyDP: if (paramLength != 1) { actionParameter.Clear(); actionParameter.Add(""); } return; default: actionParameter.Clear(); return; } }