Exemplo n.º 1
0
    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"]);
        });
        //});
    }
Exemplo n.º 2
0
    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;
    }
Exemplo n.º 3
0
 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"];
         });
     });
 }
Exemplo n.º 4
0
    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"]);
            });
        }
    }
Exemplo n.º 5
0
 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"];
             });
         });
     }
 }
Exemplo n.º 6
0
    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"]);
            });
        });
    }
Exemplo n.º 7
0
    // 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();
            }
        }
    }
Exemplo n.º 8
0
    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;
    }