Пример #1
0
    public new void Update()
    {
        base.Update();
        switch (state)
        {
        case CardinalState.Moving:
            setAngle();
            body.AddForce(transform.right * moveForce);
            break;

        case CardinalState.Attacking:
            if (target.dead)
            {
                state = CardinalState.Moving;
            }
            attackCooldown -= Time.deltaTime;
            if (attackCooldown <= 0)
            {
                target.takeDamage(3);
                attackCooldown = 1f;
            }
            break;
        }

        body.velocity = body.velocity * 0.9f;
    }
Пример #2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.CompareTag("Attackable"))
     {
         target = collision.gameObject.GetComponent <Attackable>();
         state  = CardinalState.Attacking;
     }
 }
Пример #3
0
 public new void Start()
 {
     base.Start();
     state = CardinalState.Moving;
 }