Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        float distanceToPlayer = GetDistanceToPlayer();

        if (distanceToPlayer < enemyStats.trackRange)
        {
            LookAtPlayer();
        }

        // TODO: diferent for zombies
        if (enemyInventory.HasBrickAvailable())
        {
            if (distanceToPlayer < enemyStats.chaseRange && distanceToPlayer > 1.5)
            {
                ChasePlayer();
            }

            if (distanceToPlayer < enemyStats.attackRange && CanAttackPlayer())
            {
                AttackPlayer();
            }
        }


        if (BricksOnGroundController.AreBricksOnTheGround() && enemyInventory.HasRoomForMoreBricks())
        {
            // Go Find Bricks

            FindBrick();
        }
    }
Ejemplo n.º 2
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.tag == "Brick" && enemyInventory.HasRoomForMoreBricks())
     {
         enemyInventory.AddBrick(other.gameObject);
         BricksOnGroundController.RemoveBrick(other.gameObject.transform);
     }
 }
Ejemplo n.º 3
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.tag == "Brick" && playerInventory.HasRoomForMoreBricks())
     {
         playerInventory.AddBrick(other.gameObject);
         playerData.bricksInInventory = playerInventory.bricksCount;
         BricksOnGroundController.RemoveBrick(other.gameObject.transform);
     }
 }
Ejemplo n.º 4
0
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "Ground")
        {
            boxCollider.isTrigger = true;
            rigidbody.isKinematic = true;



            BricksOnGroundController.AddBrick(transform);
        }
    }
Ejemplo n.º 5
0
    private void FindBrick()
    {
        Transform targetBrickLocation = BricksOnGroundController.GetClosestBrick(transform);

        if (targetBrickLocation == null)
        {
            return;
        }

        // TODO: use nav mesh
        transform.position = Vector3.MoveTowards(transform.position, targetBrickLocation.position, enemyStats.walkSpeed * Time.deltaTime);
    }