예제 #1
0
파일: Memento.cs 프로젝트: Eclmist/Wither
 public static void ShowMemento()
 {
     BlurCameraOverTime.Instance.BlurScreen();
     Chronos.PauseTime(0.05F);
     Chronos.LateExecute(MementoManager.ShowMemento, 0.6F);
     MementoManager.Instance.StartCoroutine(MementoManager.Instance.TriggerMemento(true));
 }
예제 #2
0
파일: Message.cs 프로젝트: Eclmist/Wither
    void OnTriggerEnter(Collider other)
    {
        if (!isCleared)
        {
            if (title == "")
            {
                DialogManager.dialogManager.LoadConversationByIndex(index);
            }
            else
            {
                DialogManager.dialogManager.LoadConversationByTitle(title);
            }

            DialogManager.dialogManager.SetAutoClose(false);


            if (pauseGameOnShowDialog)
            {
                PauseScreen.Instance.enabled = false;
                BlurCameraOverTime.Instance.BlurScreen();
                Chronos.PauseTime(0.05F);
                DialogManager.dialogManager.SetCallbackFunc(OnMessageEnd);
                Chronos.LateExecute(DialogManager.dialogManager.ShowDialogBox, 0.6F);
            }
            else
            {
                DialogManager.dialogManager.SetCallbackFunc(DefaultBehavior);
                DialogManager.dialogManager.ShowDialogBox();
            }

            isCleared = !canRepeat;
        }
    }
예제 #3
0
 void Start()
 {
     DialogManager.dialogManager.LoadConversationByIndex(15);
     PauseScreen.Instance.enabled = false;
     BlurCameraOverTime.Instance.BlurScreen();
     Chronos.PauseTime(0.05F);
     DialogManager.dialogManager.SetCallbackFunc(AfterDeathDialog);
     Chronos.LateExecute(DialogManager.dialogManager.ShowDialogBox, 0.6F);
 }
예제 #4
0
    // Update is called once per frame
    void Update()
    {
        if (!playerDeathEventTriggered && Player.Instance.isDead)
        {
            playerDeathEventTriggered = true;
            FadeToBlack.Instance.QueueNextOpacity(0);
            StartCoroutine(KillAllEnemies());

            Chronos.LateExecute(LoadLevel01, 5);
        }
    }
예제 #5
0
 // Update is called once per frame
 void Update()
 {
     if (Player.Instance.isDead && !running)
     {
         running = true;
         FadeToBlack.Instance.QueueNextOpacity(0);
         BlurCameraOverTime.Instance.BlurScreen();
         Chronos.LateExecute(LoadScene.Instance.ReloadScene, 5);
         Chronos.LateExecute(KillAllEnemiesCoroutine, 1);
     }
 }
예제 #6
0
파일: Memento.cs 프로젝트: Eclmist/Wither
    public void Collect()
    {
        BlurCameraOverTime.Instance.BlurScreen();
        Chronos.PauseTime(0.05F);
        Chronos.LateExecute(MementoManager.ShowMemento, 0.6F);
        MementoManager.IncrementPickupCount();
        MementoManager.Instance.StartCoroutine(MementoManager.Instance.TriggerMemento(true));

        foreach (ParticleToggle p in GetComponentsInChildren <ParticleToggle>())
        {
            p.ToggleParticles(false);
        }

        Destroy(gameObject, 0.1F);
    }
예제 #7
0
    // Handles how messages are being displayed in the dialog box (eg. order of messages etc)
    private void HandleDialogBox()
    {
        // If the dialog box is currently active
        if (isShowing)
        {
            // If there is no co routine AND the user can continue to next line
            if (!isTyping && canContinue)
            {
                isTyping    = true;
                canContinue = false;

                // Start the co routine
                ProceedMessage();
            }

            if (Input.GetKeyDown(KeyCode.Mouse0))
            {
                // If the text is still typing AND the player presses proceed, display the full text
                if (isTyping)
                {
                    isTyping             = false;
                    allowTypewriterToRun = false;
                    currentText.text     = messageOrder[iterator - 1];
                }
                else
                {
                    canContinue = true;
                }
            }

            // Reached the last line of character speech
            if (iterator >= messageOrder.Count)
            {
                if (!isTyping && !alreadyClosing && autoCloseDialogBoxOnMessageEnd)
                {
                    alreadyClosing = true;
                    Chronos.LateExecute(HideDialogBox, 0.5f);
                }

                if (canContinue)
                {
                    //Call the callback func
                    onDialogEnd();
                    HideDialogBox();
                }
            }
        }
    }
예제 #8
0
    // Update is called once per frame
    void Update()
    {
        if (boss.currentAttackStance == Morbius.AttackStance.BROKEN)
        {
            if (!playerPlannedDeathFlag && Player.Instance.isDead)
            {
                playerPlannedDeathFlag = true;

                Chronos.LateExecute(EndGameSequence, 2);

                bossAreaSpawner.enabled = false;
            }
        }
        else if (Player.Instance.isDead && !playerDeathEventTriggered && !playerPlannedDeathFlag)
        {
            playerDeathEventTriggered = true;
            FadeToBlack.Instance.QueueNextOpacity(0);
            BlurCameraOverTime.Instance.BlurScreen();
            Chronos.LateExecute(LoadScene.Instance.ReloadScene, 5);
            Chronos.LateExecute(KillAllEnemiesCoroutine, 1);
        }
    }