private static void TryToStartDialogue(List<string> input) { FormatDialogue mode = (FormatDialogue)Int32.Parse(input[2]); var dialogue = ConnectingAppManager.CharacterManager.GetNPC(input[0]).GetDialog(mode, input[1]); if (dialogue != null && !ConnectingAppManager.DialogManager.ActiveDialogs.Contains(dialogue)) TriangleManager.InvokeResultFuncs(ResultFuncsEnum.TryToStartDialogue, input); }
public List <DialogueNode> ContinueDisscussion(string dialogId, DialogueNode dialogueNode = null) { int nodeId = -1; if (discussions.Count == 0) { return(new List <DialogueNode>()); } Dialog curDialog = discussions.Find(d => d.Id == dialogId); if (dialogueNode != null) { //SetResultsForNode(dialogueNode); nodeId = dialogueNode.Id; } else { if (curDialog.currentNode != null) { nodeId = curDialog.currentNode.Id; } } var nextNodes = curDialog.TakeNextNodes(nodeId); if (nextNodes.Count == 0) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.EndOfDialog, new List <string> { curDialog.Id, curDialog.Format.ToString() }); discussions.Remove(curDialog); } return(nextNodes); }
private List <DialogueNode> ContinueMessengerDialog(string charId, FormatDialogue mode, DialogueNode dialogueNode = null) { var dialogs = mode == FormatDialogue.sms ? activeMessageDialogs : activeEmailDialogs; int nodeId = -1; if (!dialogs.ContainsKey(charId) || dialogs[charId].Count == 0) { return(new List <DialogueNode>()); } Dialog curDialog = dialogs[charId].Last(); if (dialogueNode != null) { //SetResultsForNode(dialogueNode); nodeId = dialogueNode.Id; var player = ConnectingAppManager.CharacterManager.GetPlayer(); player.AddMessage(charId, dialogueNode, mode == FormatDialogue.sms ? Characters.Player.MessageType.Sms : Characters.Player.MessageType.Email, curDialog.Id); } var nextNodes = curDialog.TakeNextNodes(nodeId); if (nextNodes.Count == 0) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.EndOfDialog, new List <string> { curDialog.Id, curDialog.Format.ToString() }); dialogs[charId].Remove(curDialog); } return(nextNodes); }
private static void ActivateBusiness(List<string> businesses) { foreach (var b in businesses) { ConnectingAppManager.BusinessManager.AddAvailableBusiness(b); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ActivateBusiness, businesses); } }
public void AddDiscussion(Dialog d) { discussions.Add(d); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.StartDialogue, new List <string>() { d.Participants.First(), d.Id, ((int)d.Format).ToString(), ((int)d.CharacterOfDialogue).ToString() }); }
private List <DialogueNode> ContinueDialog(DialogueNode dialogueNode = null) { var curDialog = activeDialogs.Last(); int nodeId = -1; if (dialogueNode != null) { //SetResultsForNode(dialogueNode); nodeId = dialogueNode.Id; } else { if (curDialog.currentNode != null) { nodeId = curDialog.currentNode.Id; } } var nodes = curDialog.TakeNextNodes(nodeId); if (nodes.Count != 0) { return(nodes); } else { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.EndOfDialog, new List <string> { curDialog.Id, curDialog.Format.ToString() }); activeDialogs.Remove(curDialog); if (curDialog.currentBlock == Core.Dialogues.DialogueBlock.BlockType.bye) { var npcId = ConnectingAppManager.CharacterManager.GetNPC(curDialog.Participants.First()).Id; activeDialogs.RemoveAll(d => d.Participants.Contains(npcId)); } if (!curDialog.Reusable) { foreach (string ch in curDialog.Participants) { var npc = ConnectingAppManager.CharacterManager.GetNPC(ch); npc.RemoveDialog(curDialog); } } if (activeDialogs.Count == 0) { return(nodes); } else { return(ContinueDialog()); } } }
private static void Teleport(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.Teleport, input); }
private static void StartDialogue(List<string> input) { var dialogue = CoreController.DialogueManager.GetDialogue(input[0]); Dialog d = new Dialog(dialogue); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.StartDialogue, new List<string>() { d.Participants.First(), d.Id, ((int)d.Format).ToString() }); }
private static void StartMiniGame(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.StartMiniGame, input); }
private static void ShowTask(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ShowTask, input); }
private static void StartBusiness(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.StartBusiness, input); }
private static void ChangeLocState(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ChangeLocState, input); }
private static void ShowSubtitles(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ShowSubtitles, input); }
private static void ChangeBalance(List<string> input) { CoreController.ChangeBalance(float.Parse(input[1])); ConnectingAppManager.CharacterManager.GetPlayer().SaveTransaction(input[0], float.Parse(input[1])); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ChangeBalance, input); }
private static void AddChar(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.AddChar, input); }
private static void OpenFact(List<string> input) { ConnectingAppManager.CharacterManager.GetNPC(input[0]).AddFact(input[1]); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.OpenFact, input); }
private static void OpenFile(List<string> input) { ConnectingAppManager.CharacterManager.CreateFile(input[0]); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.OpenFile, input); }
private static void GoTo(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.GoTo, input); }
private static void GetChoose(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.GetChoose, input); }
private static void GameOver(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.GameOver, input); }
private static void Fade(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.Fade, input); }
private static void EndOfDialog(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.EndOfDialog, input); }
private static void ActivateObject(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ActivateObject, input); }
private static void ShowNotification(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ShowNotification, input); }
private static void PlayMusic(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.PlayMusic, input); }
private static void ChangeHealth(List<string> input) { CoreController.ChangeHealth(int.Parse(input[0])); TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ChangeHealth, input); }
private void TryToStartDialog(Dialog d) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.TryToStartDialogue, new List<string>() { Id, d.Id, ((int)d.Format).ToString() }); }
private static void SayReplic(List<string> input) { TriangleManager.InvokeResultFuncs(ResultFuncsEnum.SayReplic, input); }