void OnTriggerExit2D(Collider2D target)
    {
        if (target.gameObject.tag == "EnemyVision" && scriptEnemyBehavior.enemyState == 4 && target.gameObject.activeInHierarchy == true)
        {
            scriptEnemyBehavior            = target.gameObject.GetComponentInParent <scrEnemyBehavior>();
            scriptEnemyBehavior.enemyState = 3;
        }

        if (target.gameObject.tag == "EnemyBackside")
        {
            Destroy(stealthInstance);
            canBackstab = false;
        }

        if (target.gameObject.tag == "DroneVision" && scriptDroneBehavior.droneState == 4)
        {
            scriptDroneBehavior            = target.gameObject.GetComponentInParent <scrDroneBehavior>();
            scriptDroneBehavior.droneState = 1;
        }

        if (target.gameObject.tag == "Cover" && isHidden)
        {
            isHidden = false;
            //Debug.Log("saiu do bagui");
        }
    }
    void OnTriggerEnter2D(Collider2D target)
    {
        if (target.gameObject.tag == "EnemyBullet")
        {
            scriptPlayer.playerHealth--;
            Destroy(target.gameObject);
            scriptPontuacao.UpdateUI();
            animPlayer.SetInteger("animPlayer", 4);
            scriptPlayer.isHooked   = false;
            scriptPlayer.isShooting = false;
            scriptGerenciaSons.playTheSoundPlayer(0);
        }

        if (target.gameObject.tag == "EnemyBackside")
        {
            scriptEnemyBehavior = target.gameObject.GetComponentInParent <scrEnemyBehavior>();
            if (scriptEnemyBehavior.enemyState != 4)
            {
                canBackstab = true;
            }
            stealthInstance = Instantiate(stealthIndicator, new Vector3(this.transform.position.x, this.transform.position.y + 5f, this.transform.position.z), transform.rotation);
        }

        if (target.gameObject.tag == "pegaveis")
        {
            Destroy(target.gameObject);
            scriptPontuacao.pontos += 200f;
            scriptPontuacao.UpdateUI();
            Debug.Log("Pontos: " + scriptPontuacao.pontos);
            scriptGerenciaSons.playTheSoundMisc(7);
        }

        if (target.gameObject.tag == "HealthUp")
        {
            Destroy(target.gameObject);
            scriptPlayer.playerHealth++;
            scriptPontuacao.UpdateUI();
            Debug.Log("Health: " + scriptPlayer.playerHealth);
            scriptGerenciaSons.playTheSoundMisc(6);
        }

        if (target.gameObject.tag == "AmmoUp")
        {
            Destroy(target.gameObject);
            scriptPlayer.playerbalas += 6;
            scriptPontuacao.UpdateUI();
            Debug.Log("Ammo: " + scriptPlayer.playerbalas);
            scriptGerenciaSons.playTheSoundMisc(8);
        }
    }
    void OnTriggerStay2D(Collider2D target)
    {
        if (target.gameObject.tag == "EnemyVision" && !isHidden)
        {
            scriptEnemyBehavior            = target.gameObject.GetComponentInParent <scrEnemyBehavior>();
            scriptEnemyBehavior.enemyState = 4;
            scriptPontuacao.wasUnseen      = false;
            scriptGerenciaSons.playTheSoundEnemy(3);
        }

        if (target.gameObject.tag == "DroneVision" && !isHidden)
        {
            scriptDroneBehavior            = target.gameObject.GetComponentInParent <scrDroneBehavior>();
            scriptDroneBehavior.droneState = 4;
            scriptPontuacao.wasUnseen      = false;
            Debug.Log("pegou");
        }

        if (target.gameObject.tag == "EnemyHitbox")
        {
            if (Time.time > invincibilityTimer)
            {
                scriptPlayer.playerHealth--;
                invincibilityTimer = Time.time + 2f;
                animPlayer.SetInteger("animPlayer", 4);
                scriptPlayer.isHooked = false;
                scriptPontuacao.UpdateUI();
                scriptGerenciaSons.playTheSoundPlayer(0);
            }
        }

        if (target.gameObject.tag == "Cover" && !isHidden)
        {
            isHidden = true;
            //Debug.Log("escondeu");
        }

        if (canBackstab && Input.GetKey(KeyCode.E) && target.gameObject.tag == "EnemyBackside" && target.gameObject.tag != "EnemyVision")
        {
            animPlayer.SetInteger("animPlayer", 5);
            var morteAtual = Instantiate(scriptEnemyBehavior.enemyDogDeathAnim);
            morteAtual.transform.position = target.transform.position;
            enemyParentReference          = target.transform.parent;
            enemyParentReference.gameObject.SetActive(false);
            scriptPontuacao.pontos += 200f;
            scriptPontuacao.UpdateUI();
            scriptGerenciaSons.playTheSoundPlayer(2);
        }
    }
Esempio n. 4
0
    void Awake()
    {
        enemyTransform   = gameObject.GetComponent <Transform>();
        enemyRigidbody2D = gameObject.GetComponent <Rigidbody2D>();
        animEnemy        = gameObject.GetComponent <Animator>();
        playerCollider2d = GameObject.Find("Player").gameObject.GetComponent <Collider2D>();

        //esse codigo checa a tag do inimigo antes de puxar o componente para somente puxar o componente certo, as variaveis com
        //os outros continuarao vazias.
        if (this.gameObject.tag == "EnemyDog")
        {
            scriptEnemyBehavior = gameObject.GetComponent <scrEnemyBehavior>();
        }
        if (this.gameObject.tag == "EnemyDrone")
        {
            scriptDroneBehavior = gameObject.GetComponent <scrDroneBehavior>();
        }

        isMoving = true;
    }
Esempio n. 5
0
 // Start is called before the first frame update
 void Start()
 {
     animBalloon         = gameObject.GetComponent <Animator>();
     scriptEnemyBehavior = gameObject.GetComponentInParent <scrEnemyBehavior>();
     currentState        = scriptEnemyBehavior.enemyState;
 }
    // Update is called once per frame
    void Update()
    {
        //if (this.transform.position.y != originalY)
        //{
        //    this.transform.position = new Vector2(transform.position.x, originalY);
        //}

        testTimer = Time.time;

        if (droneState == 0)
        {
            animDrone.SetInteger("enemyState", 0);
            //Debug.Log("idle");
        }

        if (droneState == 1)
        {
            animDrone.SetInteger("enemyState", 1);
        }

        if (droneState == 4)
        {
            timerStarted = false;
            FlipPlayerBased();
            enemyGroup       = GameObject.FindGameObjectsWithTag("EnemyDog");
            enemyGroupLenght = enemyGroup.Length;

            for (int i = 0; i < enemyGroupLenght; i++)
            {
                enemyBehavior            = enemyGroup[i].GetComponent <scrEnemyBehavior>();
                enemyBehavior.enemyState = 3;
            }

            /*
             * enemyGroup = GameObject.FindGameObjectsWithTag("EnemyDog");
             * enemyGroupLenght = enemyGroup.Length;
             * enemyBehavior = enemyGroup[enemyGroupLenght].GetComponents<scrEnemyBehavior>();
             * enemyBehavior[].enemyState = 3;
             */

            animDrone.SetInteger("enemyState", 4);
            if (droneState != 4)
            {
                return;
            }
            if (Time.time > playerSpotted && timerStarted)
            {
                timerStarted = false;
            }
            if (timerStarted)
            {
                return;
            }

            PlayerSpottedTimer();
            //Debug.Log("engaged");

            /*
             * if (enemyState == 3)
             * {
             *  //esse código faz o inimigo seguir o player e flipar de acordo com o posicionamento. o inimigo não atira nesse modo
             *  transform.position = Vector2.MoveTowards(transform.position, playerTransform.position, enemySpeed * Time.deltaTime);
             *  FlipPlayerBased();
             *  animEnemy.SetInteger("enemyState", 3);
             *
             *  //esse código inicializa um timer para mudança do estado quando o player consegue evadir da visão do inimigo por determinado tempo
             *  if (enemyState != 3) return;
             *  if (Time.time > highAlert && timerStarted)
             *  {
             *      enemyState = 2;
             *      timerStarted = false;
             *  }
             *  if (timerStarted) return;
             *
             *  HighAlertTimer();
             *  enemyVisionCollider[1].size = new Vector2(30, 20);
             *  //Debug.Log("high alert");
             * }
             */
        }
    }