Esempio n. 1
0
        IEnumerator OnTriggerEnter2D(Collider2D player)
        {
            if (!hasTriggered)
            {
                hasTriggered = true;

                System.DateTime dt = System.DateTime.Now;
                PlayMov.StopMoving();

                // If player came at the correct time
                if (hasInteracted)
                {
                    foreach (string message in incorrectTimeMessages)
                    {
                        UIManager.Inst.StartMessage(message);
                    }
                    UIManager.Inst.StartMessage("You have already claimed this reward!");
                }
                else if ((dt.DayOfWeek == dayOfWeek) && (dt.Hour == hour))
                {
                    foreach (string message in correctTimeMessages)
                    {
                        UIManager.Inst.StartMessage(message);
                    }
                    foreach (ItemClass item in itemsWithAmounts)
                    {
                        GameManager.Inst.AddItem(item, item.numberOfItem);
                    }

                    // Later: save interaction
                    hasInteracted = true;
                }
                else
                {
                    foreach (string message in incorrectTimeMessages)
                    {
                        UIManager.Inst.StartMessage(message);
                    }
                }

                // Wait until all messages are completed
                yield return(new WaitWhile(() => UIManager.Inst.isMessageToDisplay));

                PlayMov.Move(2);

                yield return(new WaitForSeconds(0.1f));

                PlayMov.StopMoving(true);

                PlayMov.ResumeMoving();
            }
        }
Esempio n. 2
0
 // Check if world movement should be altered
 public void Move(int dir)
 {
     if (isAllowedToMove)
     {
         if (sceneName != "Shasta")
         {
             playerMovement.Move(dir);
         }
         else
         {
             // If I want to invert, add 2 and mod 4
             if (DrunkShastaWalk)
             {
                 playerMovement.Move(Random.Range(0, 4));
             }
             else
             {
                 playerMovement.Move(dir);
             }
             DrunkShastaWalk = !DrunkShastaWalk;
         }
     }
 }