Exemplo n.º 1
0
    void DisplayCrouchTuto()
    {
#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR
        tutoImgCrouch.SetActive(true);
#else
        tutoImgKeyDown.SetActive(true);
#endif
        bubble.SetText("CITY_TUTO_CROUCH", 10f);
        // Subscribe to player crouch event
        skateCtrlr.OnCrouch += OnCrouch;
    }
Exemplo n.º 2
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.tag == "Player")
     {
         bubble.SetText(stringId, textTime);
         Destroy(this.gameObject);
     }
 }
Exemplo n.º 3
0
 void Update()
 {
     // In the 2-04 level, detect if cheeses are thrown for the achievement
     if (detectCheeses != null && detectCheeses.Length > 0)
     {
         bool cheesesThrown = true;
         foreach (GameObject cheese in detectCheeses)
         {
             if (cheese.transform.position.x > cheeseAreaTop.position.x && cheese.transform.position.x < cheeseAreaBottom.position.x &&
                 cheese.transform.position.y < cheeseAreaTop.position.y && cheese.transform.position.y > cheeseAreaBottom.position.y)
             {
                 cheesesThrown = false;
                 break;
             }
         }
         if (cheesesThrown)
         {
             bubble.SetText("RAT_NOT_COOL", 5f);
             detectCheeses = null;
             // Achievement
             PlayGamesScript.UnlockAchievement(GPGSIds.achievement_why_are_you_so_angry);
         }
     }
 }
Exemplo n.º 4
0
    void FixedUpdate()
    {
        if (state <= 0)
        {
            return;
        }

        // init anim
        else if (state == 1)
        {
            DogFaceRight();
            dogAnim.SetFloat("x.velocity", dogSpeed);
            ratAnim.SetFloat("speed", ratSpeed);
            RatFlip();
            state++;
        }

        // dog goes up AND rat run into pipe
        else if (state == 2)
        {
            if (dog.transform.position != dogUp.position)
            {
                rat.transform.position = Vector3.MoveTowards(rat.transform.position, ratUpPipe.position, Time.deltaTime * ratSpeed);
                dog.transform.position = Vector3.MoveTowards(dog.transform.position, dogUp.position, Time.deltaTime * dogSpeed);
            }
            else
            {
                rat.transform.position = ratDownPipe.position;
                dogAnim.SetFloat("x.velocity", 0f);
                dogAnim.SetBool("goUp", true);
                RatFlip();
                nbLoop++;
                state++;
            }
        }

        // rat goes down
        else if (state == 3)
        {
            if (rat.transform.position != ratDown.position)
            {
                rat.transform.position = Vector3.MoveTowards(rat.transform.position, ratDown.position, Time.deltaTime * ratSpeed);
            }
            else
            {
                ratAnim.SetFloat("speed", 0f);
                dogAnim.SetBool("isGrowling", true);
                state++;
            }
        }

        // wait
        else if (state == 4)
        {
            if (!waitingTimeIsSet)
            {
                startWaitingTime = Time.time;
                waitingTimeIsSet = true;
            }
            else
            {
                if ((Time.time - startWaitingTime) < dogWaitingTime)
                {
                    return;
                }
                else
                {
                    RatFlip();
                    ratAnim.SetFloat("speed", ratSpeed);
                    dogAnim.SetBool("goUp", false);
                    dogAnim.SetBool("isGrowling", false);
                    state++;
                    waitingTimeIsSet = false;
                }
            }
        }

        // dog goes down / rat run into pipe
        else if (state == 5)
        {
            if (dog.transform.position != dogDown.position && rat.transform.position != ratDownPipe.position)
            {
                rat.transform.position = Vector3.MoveTowards(rat.transform.position, ratDownPipe.position, Time.deltaTime * ratSpeed);
                dog.transform.position = Vector3.MoveTowards(dog.transform.position, dogDown.position, Time.deltaTime);
            }
            else
            {
                rat.transform.position = ratUpPipe.position;
                dogAnim.SetBool("goDown", true);
                RatFlip();
                state++;
            }
        }

        // rat goes up
        else if (state == 6)
        {
            if (rat.transform.position != ratUp.position)
            {
                rat.transform.position = Vector3.MoveTowards(rat.transform.position, ratUp.position, Time.deltaTime * ratSpeed);
            }
            else
            {
                ratAnim.SetFloat("speed", 0f);
                dogAnim.SetBool("isGrowling", true);
                state++;
            }
        }

        // wait 3s
        else if (state == 7)
        {
            if (!waitingTimeIsSet)
            {
                startWaitingTime = Time.time;
                waitingTimeIsSet = true;
            }
            else
            {
                if ((Time.time - startWaitingTime) < dogWaitingTime)
                {
                    // display bubble is the dog is about to chase the cat
                    if (nbLoop >= nbLoopTotal && !bubbleIsSet && dogWaitingTime - (Time.time - startWaitingTime) < 0.6f)
                    {
                        bubble.SetText("ESCAPE", 3f);
                        bubbleIsSet = true;
                    }
                    return;
                }
                else
                {
                    dogAnim.SetBool("goDown", false);
                    dogAnim.SetBool("isGrowling", false);
                    waitingTimeIsSet = false;
                    bubbleIsSet      = false;
                    state            = (nbLoop >= nbLoopTotal) ? state + 1 : 1;
                }
            }
        }

        // dog chases cat
        else if (state == 8)
        {
            nbLoop            = 0;
            platformCoroutine = StartCoroutine(ThrowingPlatforms());
            state++;
        }

        // dog defeated
        else if (state == 99)
        {
            ratAnim.SetFloat("speed", ratSpeed);
            if (!ratFacingRight)
            {
                RatFlip();
            }
            state++;
        }
        // dog defeated : at run into pipe
        else if (state == 100)
        {
            Vector3 target = (rat.transform.position.y == ratUp.position.y) ? ratUpPipe.position : ratDownPipe.position;
            if (rat.transform.position != target)
            {
                rat.transform.position = Vector3.MoveTowards(rat.transform.position, ratDownPipe.position, Time.deltaTime * ratSpeed);
            }
            else
            {
                rat.transform.position = ratDownPipe.position;
                RatFlip();
                state++;
            }
        }
    }