Exemplo n.º 1
0
    // Verifica Colisões
    private void CheckCollisions()
    {
        Model_Element head = elements[0];

        // Colisão com Item
        if (head.Position == Controller_GameManager.main.item.Position)
        {
            IncreaseSnake();
            Controller_GameManager.main.EventItemCollided();
        }

        // Colisão consigo mesmo
        for (int i = 1; i < elements.Count; i++)
        {
            if (head.Position == elements[i].Position)
            {
                Controller_GameManager.main.EventSnakeCollided();
            }
        }

        // Colisão com borda
        if (head.Position[1] > Controller_GameManager.BOARDSIZE - 1 ||
            head.Position[0] > Controller_GameManager.BOARDSIZE - 1 ||
            head.Position[1] < 0 ||
            head.Position[0] < 0)
        {
            Controller_GameManager.main.EventSnakeCollided();
        }

        return;
    }
Exemplo n.º 2
0
    // Aumenta o Snake
    public void IncreaseSnake()
    {
        // Cria e instancia um novo segmento
        Model_Element tempElement = new Model_Element();

        tempElement.Model    = GameObject.Instantiate(bodyPrefab);
        tempElement.Position = lastEndPosition;
        tempElement.Model.transform.position = new Vector3(tempElement.Position[0],
                                                           0,
                                                           tempElement.Position[1]);
        tempElement.Model.transform.parent = this.transform;
        tempElement.Model.transform.name   = "Body";

        elements.Add(tempElement);
    }