예제 #1
0
    private void Update()
    {
        if (AngleToPositive(transform.rotation.eulerAngles.z) > 45 && AngleToPositive(transform.rotation.eulerAngles.z) < 225)
        {
            braccianteSprite.flipX = true;
        }
        else
        {
            braccianteSprite.flipX = false;
        }

        anim.SetBool("isWalking", aiLerp.canMove);
        anim.SetFloat("angle", transform.rotation.eulerAngles.z);

        // Debug.Log(transform.up.ToString());
        if (isMyTurn)
        {
            enemyRear.GetComponent <SpriteRenderer>().gameObject.SetActive(false);
            // this.gameObject.layer = 8;
            if (fov.FindVisibleTarget())
            {
                hasSeenPlayer = true;
            }
        }
        else
        {
            /* if (fov.AmIHearingPlayer() && triggerSound)
             * {
             *   braccianteSound.clip = braccianteSoundsList[1];
             *   braccianteSound.PlayOneShot(braccianteSoundsList[1]);
             *   triggerSound = false;
             *
             * }
             * if (!fov.AmIHearingPlayer())
             * {
             *   triggerSound = true;
             * } */

            enemyRear.GetComponent <SpriteRenderer>().gameObject.SetActive(true);
            if (fov.FindVisibleTarget())
            {
                hasHeardPlayer    = true;
                lastPositionHeard = new Vector3(playerTransform.position.x, playerTransform.position.y, 0);
            }
            else if (fov.AmIHearingPlayer())
            {
                hasHeardPlayer    = true;
                lastPositionHeard = new Vector3(playerTransform.position.x, playerTransform.position.y, 0);
            }
            else
            {
                this.gameObject.layer = 8;
            }
        }
    }
예제 #2
0
    private void Update()
    {
        if (AngleToPositive(transform.rotation.eulerAngles.z) > 45 && AngleToPositive(transform.rotation.eulerAngles.z) < 225)
        {
            sprite.flipX = true;
        }
        else
        {
            sprite.flipX = false;
        }

        anim.SetBool("isMoving", aiLerp.canMove);
        anim.SetFloat("angle", transform.rotation.eulerAngles.z);

        // Debug.Log(transform.up.ToString());
        if (isMyTurn)
        {
            // this.gameObject.layer = 8;
            if (fov.FindVisibleTarget())
            {
                if (canThrowBomb)
                {
                    ThrowBomb(playerTransform.position);
                    canThrowBomb   = false;
                    aiLerp.canMove = false;
                    playerTransform.GetComponent <AILerp>().canMove = false;
                }
            }
        }
        else
        {
            if (fov.FindVisibleTarget())
            {
                if (canThrowBomb)
                {
                    ThrowBomb(playerTransform.position);
                    canThrowBomb   = false;
                    aiLerp.canMove = false;
                    playerTransform.GetComponent <AILerp>().canMove = false;
                }
            }
            else if (fov.AmIHearingPlayer())
            {
                hasHeardPlayer    = true;
                lastPositionHeard = new Vector3(playerTransform.position.x, playerTransform.position.y, 0);
            }
            else
            {
                this.gameObject.layer = 8;
            }
        }
    }
예제 #3
0
파일: BossIA.cs 프로젝트: LastFlame/Wakanda
    // Update is called once per frame
    void Update()
    {
        if (AngleToPositive(transform.rotation.eulerAngles.z) > 260 && AngleToPositive(transform.rotation.eulerAngles.z) < 280)
        {
            sprite.flipX = true;
        }
        else if (transform.rotation.eulerAngles.z > 80 && transform.rotation.eulerAngles.z < 100)
        {
            sprite.flipX = true;
        }
        else
        {
            sprite.flipX = false;
        }


        anim.SetFloat("Angle", transform.rotation.eulerAngles.z);

        if (fov.FindVisibleTarget())
        {
            if (canKill)
            {
                Debug.Log("TI VEDO");
                KillPlayer();
            }
        }
        else
        {
            Debug.Log("NON TI VEDO");
        }

        if (fov.AmIHearingPlayer())
        {
            hasHeardPlayer = true;
        }
        else
        {
            hasHeardPlayer = false;
            allarmTrigger  = true;
        }


        if (!playerMovement.canMove && hasHeardPlayer && allarmTrigger)
        {
            BossSound(bossSounds[0]);
            allarmTrigger = false;
        }
    }