Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 private static void ActivateBusiness(List<string> businesses)
 {
     foreach (var b in businesses)
     {
         ConnectingAppManager.BusinessManager.AddAvailableBusiness(b);
         TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ActivateBusiness, businesses);
     }
 }
Ejemplo n.º 5
0
 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()
     });
 }
Ejemplo n.º 6
0
        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());
                }
            }
        }
Ejemplo n.º 7
0
 private static void Teleport(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.Teleport, input);
 }
Ejemplo n.º 8
0
 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() });
 }
Ejemplo n.º 9
0
 private static void StartMiniGame(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.StartMiniGame, input);
 }
Ejemplo n.º 10
0
 private static void ShowTask(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ShowTask, input);
 }
Ejemplo n.º 11
0
 private static void StartBusiness(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.StartBusiness, input);
 }
Ejemplo n.º 12
0
 private static void ChangeLocState(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ChangeLocState, input);
 }
Ejemplo n.º 13
0
 private static void ShowSubtitles(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ShowSubtitles, input);
 }
Ejemplo n.º 14
0
 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);
 }
Ejemplo n.º 15
0
 private static void AddChar(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.AddChar, input);
 }
Ejemplo n.º 16
0
 private static void OpenFact(List<string> input)
 {
     ConnectingAppManager.CharacterManager.GetNPC(input[0]).AddFact(input[1]);
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.OpenFact, input);
 }
Ejemplo n.º 17
0
 private static void OpenFile(List<string> input)
 {
     ConnectingAppManager.CharacterManager.CreateFile(input[0]);
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.OpenFile, input);
 }
Ejemplo n.º 18
0
 private static void GoTo(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.GoTo, input);
 }
Ejemplo n.º 19
0
 private static void GetChoose(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.GetChoose, input);
 }
Ejemplo n.º 20
0
 private static void GameOver(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.GameOver, input);
 }
Ejemplo n.º 21
0
 private static void Fade(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.Fade, input);
 }
Ejemplo n.º 22
0
 private static void EndOfDialog(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.EndOfDialog, input);
 }
Ejemplo n.º 23
0
 private static void ActivateObject(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ActivateObject, input);
 }
Ejemplo n.º 24
0
 private static void ShowNotification(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ShowNotification, input);
 }
Ejemplo n.º 25
0
 private static void PlayMusic(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.PlayMusic, input);
 }
Ejemplo n.º 26
0
 private static void ChangeHealth(List<string> input)
 {
     CoreController.ChangeHealth(int.Parse(input[0]));
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.ChangeHealth, input);
 }
Ejemplo n.º 27
0
 private void TryToStartDialog(Dialog d)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.TryToStartDialogue, new List<string>() { Id, d.Id, ((int)d.Format).ToString() });
 }
Ejemplo n.º 28
0
 private static void SayReplic(List<string> input)
 {
     TriangleManager.InvokeResultFuncs(ResultFuncsEnum.SayReplic, input);
 }