Ejemplo n.º 1
0
 // When message is over, remove message. If message is still going, start quicker message display
 public void interactWithMessage()
 {
     if (messageOver)
     {
         // LATER: Oink
         if (gameManager.pork)
         {
             SoundEffectManager.Inst.PlaySoundImmediate("messageDing");
         }
         else
         {
             SoundEffectManager.Inst.PlaySoundImmediate("messageDing");
         }
         MessageUI.SetActive(false);
         endMessage  = true;
         messageOver = false;
     }
     else
     {
         animateMessage = false;
     }
 }
Ejemplo n.º 2
0
        // Display message with letter animation
        public IEnumerator displayMessage(string message)
        {
            char nextLetter;

            MessageUI.SetActive(true);

            MessageText.text = "";
            animateMessage   = true;

            for (int i = 0; i < message.Length; i++)
            {
                nextLetter        = message[i];
                MessageText.text += nextLetter;
                if (animateMessage)
                {
                    yield return(new WaitForSeconds(0.16f * scrollSpeed));
                }
                else
                {
                    yield return(new WaitForSeconds(0.02f * scrollSpeed));
                }
            }
            messageOver = true;
        }
Ejemplo n.º 3
0
        // To execute message displays/functions in the right order
        public IEnumerator messageWorker()
        {
            UIQueueItem curItem = new UIQueueItem();

            while (true)
            {
                // Wait for another message
                if (queueHead.next == null)
                {
                    isMessageToDisplay = false;
                }

                // Wait for next message
                yield return(new WaitUntil(() => isMessageToDisplay));

                // Dequeue message
                curItem        = queueHead.next;
                queueHead.next = curItem.next;

                // Make shorter if NPC Message
                if (NPCMessage)
                {
                    MessageSize.anchorMax = new Vector2(0.67f, 0.31f);
                    MessageText.fontSize  = 25;
                }
                else
                {
                    MessageSize.anchorMax = new Vector2(1, 0.31f);
                    MessageText.fontSize  = 30;
                }

                // Display message, if one exists
                if (curItem.message != null)
                {
                    // To stall after initiating coroutine
                    messageOver    = false;
                    animateMessage = false;
                    endMessage     = false;

                    // Print message
                    StartCoroutine(displayMessage(curItem.message));
                    // Wait for message to finish
                    yield return(new WaitUntil(() => endMessage));

                    MessageUI.SetActive(false);
                }

                // Execute next function, if one exists
                if (curItem.ienum != null)
                {
                    curCoroutine = StartCoroutine(curItem.ienum);
                    yield return(curCoroutine);
                }

                // Execute next function, if one exists
                if (curItem.nextFunction != null)
                {
                    curItem.nextFunction();
                }
            }
        }