示例#1
0
 void Start()
 {
     collide      = GetComponent <CollideObject>();
     viewCollider = transform.GetChild(0).GetComponent <BoxCollider2D>();
     status       = GetComponent <PlayerStatus>();
     renderer     = GetComponent <SpriteRenderer>();
     animator     = GetComponent <Animator>();
 }
 public bool Isin(CollideObject obj)
 {
     return(!(Origin.X > obj.Origin.X + obj.Width || Origin.X + Width < obj.Origin.X ||
              Origin.Y > obj.Origin.Y + obj.Height || Origin.Y + Height < obj.Origin.Y));
 }
示例#3
0
 void Start()
 {
     collide = GetComponent <CollideObject>();
     anchor  = GetComponent <Anchor>();
 }
示例#4
0
    private void CheckCollisions()
    {
        bool isSafe = true;

        GameObject[] gameObjects = GameObject.FindGameObjectsWithTag("CollidableObject");

        foreach (GameObject go in gameObjects)
        {
            CollideObject colliedObject = go.GetComponent <CollideObject>();

            if (colliedObject.Colliding(this.gameObject))
            {
                if (colliedObject.isSafe)
                {
                    isSafe = true;

                    if (colliedObject.isLog)
                    {
                        Vector2 pos = transform.localPosition;

                        if (colliedObject.GetComponent <Log>().moveRight)
                        {
                            pos.x += colliedObject.GetComponent <Log>().moveSpeed *Time.deltaTime;

                            if (transform.localPosition.x >= 9.5f)
                            {
                                pos.x = transform.localPosition.x - 18f;
                            }
                        }
                        else
                        {
                            pos.x -= colliedObject.GetComponent <Log>().moveSpeed *Time.deltaTime;

                            if (transform.localPosition.x <= -9.5f)
                            {
                                pos.x = transform.localPosition.x + 18f;
                            }
                        }
                        transform.localPosition = pos;
                    }
                    else if (colliedObject.isTurtle)
                    {
                        Vector2 pos = transform.localPosition;
                        if (colliedObject.GetComponent <Turtle>().moveRight)
                        {
                            pos.x += colliedObject.GetComponent <Turtle>().speed *Time.deltaTime;

                            if (transform.localPosition.x > 9.5f)
                            {
                                pos.x = transform.localPosition.x - 18f;
                            }
                        }
                        else
                        {
                            pos.x -= colliedObject.GetComponent <Turtle>().speed *Time.deltaTime;

                            if (transform.localPosition.x <= -9.5f)
                            {
                                pos.x = transform.localPosition.x + 18f;
                            }
                        }
                        transform.localPosition = pos;
                    }
                    else if (colliedObject.isHomeBay)
                    {
                        if (!colliedObject.isOccupied)
                        {
                            GameObject trophy = (GameObject)Instantiate(Resources.Load("Prefabs/trophy", typeof(GameObject)), colliedObject.transform.localPosition, Quaternion.identity);
                            trophy.tag = "Trophy";

                            UI.UpdatePlayerScore(50);

                            colliedObject.isOccupied = true;

                            numFrogsInBays++;

                            if (numFrogsInBays == 5)
                            {
                                GameWin();
                            }
                        }
                        ResetPosition();
                    }
                    break;
                }
                else
                {
                    isSafe = false;
                }
            }
        }
        if (!isSafe)
        {
            if (life == 0)
            {
                GameOver();
            }
            else
            {
                PlayerDied();
            }
        }
    }