public static string GetDialogue(string npc, string area, string scene, int id = -1)
        {
            if (!_sceneTree.ContainsKey(npc))
            {
                return($"Missing npc {npc}");
            }

            DialogueNPC dn = _sceneTree[npc];

            DialogueArea a = dn.GetArea(area);

            if (a == null)
            {
                return($"Missing area {area}");
            }

            DialogueScene s = a.GetScene(scene);

            if (s == null)
            {
                return($"Missing scene {scene}");
            }

            return(ReplaceKeys(s.GetDialogue(id)));
        }
示例#2
0
        public static string RandomDialogue(string npc, string area, string scene)
        {
            DialogueScene s = GetScene(npc, area, scene);

            if (s == null)
            {
                return("No text available.");
            }

            return(GetDialogue(npc, area, scene, GlobalState.RNG.Next(0, s.Length)));
        }
示例#3
0
        public static string GetDialogue(string npc, string area, string scene, int id = -1)
        {
            DialogueScene s = GetScene(npc, area, scene);

            if (s == null)
            {
                return("No text available.");
            }

            GlobalState.DialogueTop = s.AlignTop;

            return(ReplaceKeys(s.GetDialogue(id)));
        }
示例#4
0
 internal void AddScene(string scene, DialogueScene dialogueScene)
 {
     _scenes.Add(scene, dialogueScene);
 }