Exemple #1
0
 private void OnTriggerExit2D(Collider2D collision)
 {
     Debug.Log(collision.name + " exited charge zone");
     ams          = AngerMovementState.Neutral;
     playerInView = false;
     inViewCount  = 0;
 }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        Vector2 position = transform.position;

        switch (ams)
        {
        case AngerMovementState.Neutral:
            //Trigger Walk Animation
            if (Random.Range(0, 1000) < 20 || !((position.x >= (startLocation.x - patrolDistance)) && (position.x <= (startLocation.x + patrolDistance))))
            {
                transform.Rotate(0, 180, 0);
                positionChangeModifier = positionChangeModifier * (-1);
            }
            transform.position = new Vector3(transform.position.x + (0.02f * positionChangeModifier), transform.position.y, transform.position.z);
            break;

        case AngerMovementState.Alert:
            //Trigger Alert Animation
            if (playerInView && inViewCount >= 10)
            {
                ams = AngerMovementState.Charging;
            }
            break;

        case AngerMovementState.Charging:
            //Trigger Charge Animation
            transform.position = new Vector3(transform.position.x + (0.095f * positionChangeModifier), transform.position.y, transform.position.z);
            break;

        default:
            ams = AngerMovementState.Neutral;
            break;
        }
    }
Exemple #3
0
 // Start is called before the first frame update
 void Start()
 {
     ams           = AngerMovementState.Neutral;
     startLocation = transform.position;
     playerInView  = false;
     inViewCount   = 0;
 }
Exemple #4
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     Debug.Log(collision.name + " entered charge zone");
     ams          = AngerMovementState.Alert;
     playerInView = true;
 }