// public DialogueMap dialogueMap { // get; private set; // } public void Load(int level) { if (level >= levels.Count) { /*GameWorld.success = false; * ScreenFader.QueueEvent(BackgroundRenderer.instance.SetSunBackground); * ScreenFader.StartFade(Color.clear, Color.black, 1.0f, delegate() * { * LevelManager.instance.Level--; * * //TODO: If something weird happens, this is why * GameWorld.success = false; * GroupManager.main.activeGroup = GroupManager.main.group["Epilogue"]; * * // Clear resources * LevelManager.instance.Clear(); * * ScreenFader.StartFade(Color.black, Color.clear, 0.5f, delegate() * { * GroupManager.main.activeGroup = GroupManager.main.group["Epilogue"]; * * AudioManager.PlaySFX("Menu Next"); * }); * });*/ //return; } level %= levels.Count; if (level < 0) { level += levels.Count; } Level = level; TmxMap map; DialogueMap dialogue; if (tileMaps.ContainsKey(level)) { map = tileMaps[level]; } else { var name = levels[level]; var asset = Resources.Load <TextAsset>(name); using (var reader = new StringReader(asset.text)) { map = TmxMap.Open(reader); } tileMaps[level] = map; } if (dialogues.ContainsKey(level)) { dialogue = dialogues[level]; } else { var name = levels[level]; var dia = Resources.Load <TextAsset>("Dialogues/" + name); if (dia != null) { using (var reader = new StringReader(dia.text)) { dialogue = DialogueMap.Open(Object.FindObjectOfType <DialogueManager>(), reader); } } else { dialogue = new DialogueMap(DialogueManager.instance); } dialogues[level] = dialogue; } Width = map.Width; Height = map.Height; Camera.main.transform.position = CameraPosition; Camera.main.orthographicSize = OrthographicSize; // dialogueMap = dialogue; settings.dialogueMap = dialogue; loader.Load(map, settings); //Load map settings settings.minScore = map.Properties.GetInt("MinScore", 0); settings.maxScore = map.Properties.GetInt("MaxScore", 0); string nameIntro = map.Properties.GetTag("Intro", null); string nameOutro = map.Properties.GetTag("Outro", null); if (nameIntro != null) { settings.intro = settings.dialogueMap[nameIntro]; } else { settings.intro = null; } if (nameOutro != null) { settings.outro = settings.dialogueMap[nameOutro]; } else { settings.outro = null; } var hand = Object.FindObjectOfType <HandController>(); if (hand != null) { hand.value = map.Properties.GetInt("Health", HandController.DefValue); } //string dialogueName; //if (!map. }