void FadeToEpilogue() { FindObjectOfType <AudioRunning>().background.volume = 0.0f; //ScreenFader.QueueEvent(BackgroundRenderer.instance.SetSunBackground); BackgroundRenderer.instance.SetSunBackground(); //ScreenFader.StartFade(Color.clear, Color.black, 1.0f, delegate() // { LevelManager.instance.Level--; GameWorld.success = false; GroupManager.main.activeGroup = GroupManager.main.group["Level Over"]; // Clear resources LevelManager.instance.Clear(); ScreenFader.StartFade(Color.black, Color.clear, 1.0f, delegate() { //TODO: Fade away from dialogue DialogueManager.DialogueComplete = () => { GroupManager.main.activeGroup = GroupManager.main.group["Epilogue"]; AudioManager.PlaySFX("Collect"); }; DialogueManager.ActivateDialogue( DialogueManager.instance.defaultMap["Epilogue"]); }); //}); }
public Trigger(TmxObject obj, LevelSettings settings) { repeat = obj.properties.GetInt("Repeat", 0) != 0; string targetDialogue; if (obj.properties.GetTag("Dialogue", out targetDialogue)) { var dia = settings.dialogueMap[targetDialogue]; Run += () => { if (!LevelManager.instance.settings.HasDialogueFlag(dia)) { LevelManager.instance.settings.StoreDialogueFlag(dia); DialogueManager.DialogueComplete = GameWorld.GoBackToLevel; DialogueManager.ActivateDialogue(dia); } }; } area = obj.position; Trigger.ActionType at = Trigger.ActionType.Any; try { at = (Trigger.ActionType)Enum.Parse(typeof(Trigger.ActionType), obj.type, true); } catch (ArgumentException ae) { Debug.LogError(ae.Message); } type = at; }
void LevelIntro() { // Fade In To Prologue ScreenFader.StartFade(Color.clear, Color.black, 1.0f, delegate() { ScreenFader.StartFade(Color.black, Color.clear, 0.5f, delegate() { DialogueManager.DialogueComplete = FadeToIntroDialogue; DialogueManager.ActivateDialogue(DialogueManager.instance.defaultMap["Intro1"]); //GroupManager.main.activeGroup = GroupManager.main.group["Dialogue"]; }); }); }
void FadeBackToLevelSelection() { //Disclaimer: This is Alper's code. Shame on him. // This indeed is MY code, and I'm PROUD of it. ^Alper if (LevelManager.instance.Level != -1) { ScreenFader.StartFade(Color.black, Color.clear, 0.5f, delegate() { DialogueManager.DialogueComplete = delegate() { ScreenFader.StartFade(Color.clear, Color.black, 0.75f, delegate() { ScreenFader.StartFade(Color.black, Color.clear, 0.5f, delegate() { DialogueManager.DialogueComplete = delegate() { ScreenFader.QueueEvent(BackgroundRenderer.instance.SetSunBackground); ScreenFader.StartFade(Color.clear, Color.black, 0.75f, delegate() { ScreenFader.StartFade(Color.black, Color.clear, 0.5f, delegate() { AudioManager.PlaySFX("Menu Prev"); GroupManager.main.activeGroup = GroupManager.main.group["Level Select"]; }); }); }; DialogueManager.ActivateDialogue(DialogueManager.instance.defaultMap["Intro2"]); //Debug.Log("Dia1"); //GroupManager.main.activeGroup = GroupManager.main.group["Dialogue"]; }); }); }; //Debug.Log("Dia2"); //GroupManager.main.activeGroup = GroupManager.main.group["Dialogue"]; DialogueManager.ActivateDialogue(DialogueManager.instance.defaultMap["Intro1"]); }); } }
void FadeToIntroDialogue() { if (LevelManager.instance.Level == -1) { ScreenFader.StartFade(Color.clear, Color.black, 1.0f, delegate() { ScreenFader.StartFade(Color.black, Color.clear, 0.5f, delegate() { DialogueManager.DialogueComplete = delegate() { ScreenFader.StartFade(Color.clear, Color.black, 1.0f, delegate() { GameWorld.dialogueOff = false; GroupManager.main.activeGroup = GroupManager.main.group["Level Start"]; }); }; DialogueManager.ActivateDialogue(DialogueManager.instance.defaultMap["Intro2"]); //GroupManager.main.activeGroup = GroupManager.main.group["Dialogue"]; }); }); } }
void ShowEpilogue() { ScreenFader.StartFade(Color.clear, Color.black, 1.0f, delegate() { FindObjectOfType <AudioMenu>().menuMain.volume = 0.0f; FindObjectOfType <AudioMenu>().menuLevel.volume = 0.0f; GameWorld.success = false; GroupManager.main.activeGroup = GroupManager.main.group["Level Over"]; ScreenFader.StartFade(Color.black, Color.clear, 1.0f, delegate() { //TODO: Fade away from dialogue DialogueManager.DialogueComplete = () => { GroupManager.main.activeGroup = GroupManager.main.group["Epilogue"]; }; DialogueManager.ActivateDialogue( DialogueManager.instance.defaultMap["Epilogue"]); }); }); }
// Update is called once per frame void Update() { #if UNITY_EDITOR CheatManager.Instance.Update(); #endif var patients = FindObjectsOfType <Patient>(); var isOver = true; foreach (var patient in patients) { isOver &= patient.GetComponent <Patient>().IsTreated(); } if (!success || isOver) { if (success && LevelManager.instance.settings.outro != null) { //GroupManager.main.activeGroup = GroupManager.main.group["Dialogue"]; if (!LevelManager.instance.settings.HasDialogueFlag(LevelManager.instance.settings.outro)) { //Debug.Log("Whaaaa"); DialogueManager.DialogueComplete = ToLevelOver; DialogueManager.ActivateDialogue(LevelManager.instance.settings.outro); LevelManager.instance.settings.StoreDialogueFlag(LevelManager.instance.settings.outro); } else { ToLevelOver(); } } else { ToLevelOver(); } } }
void LevelStart() { startTime = DateTime.Now; // Clear resources var instance = LevelManager.instance; instance.Clear(); // Debug.Log("Woohoo " + instance.Level); if (instance.Level >= instance.LevelCount - 1) { //BackgroundRenderer.instance.SetSunBackground(); //GroupManager.main.activeGroup = GroupManager.main.group["Epilogue"]; FadeToEpilogue(); return; } // Next level instance.Next(); dialogueOff = !success; var intro = instance.settings.intro; /*if (intro != null) { * if (!instance.settings.HasDialogueFlag(intro)) { * * DialogueManager.DialogueComplete = GoBackToLevel; * DialogueManager.ActivateDialogue(intro); * instance.settings.StoreDialogueFlag(intro); * } * }*/ // if (dialogueOff || LevelManager.instance.Level >= DialogueManager.dialogueIndex.Length) if (dialogueOff || intro == null) { ScreenFader.StartFade(Color.black, Color.clear, 1.0f, delegate() { GoBackToLevel(); }); } else { //DialogueManager.CurrentDialogue = DialogueManager.dialogueIndex[LevelManager.instance.Level]; //if (LevelManager.instance.settings.intro != null) { //DialogueManager.ActivateDialogue(LevelManager.instance.settings.intro); //} //Debug.Log("Resetting dialogues..."); instance.settings.ResetStoredDialogues(); ScreenFader.StartFade(Color.black, Color.clear, 1.0f, delegate() { // if (intro != null) { if (!instance.settings.HasDialogueFlag(intro)) { DialogueManager.DialogueComplete = GoBackToLevel; DialogueManager.ActivateDialogue(intro); instance.settings.StoreDialogueFlag(intro); } } //DialogueManager. //GroupManager.main.activeGroup = GroupManager.main.group["Dialogue"]; }); } success = true; }