// Update is called once per frame void Update() { if (Feny.GetComponent <WeaponScript>().AOECastID == 1 && InDamageArea) { hp -= 0.3f; if (gameObject.name == "Мешок2") { Feny.GetComponent <NewBehaviourScript>().hp -= 1.4f - (1.4f * Feny.GetComponent <NewBehaviourScript>().armor / 10); } Feny.GetComponent <WeaponScript>().AOECastID = 0; } hpbar.fillAmount = hp / mhp; if (hp < 0) { Destroy(hpbar); GameObject clone = Instantiate(dfx, transform.localPosition, transform.rotation) as GameObject; Destroy(gameObject); } }
// Update is called once per frame /// <summary> /// /// </summary> void Update() { InDamageArea = dist(Feny.transform.position, transform.position) < 1; an.SetBool("go", rb.velocity.x != 0 && rb.velocity.y != 0); an.SetBool("atk", atTime > 0); if (hurttime > 0) { hurttime -= Time.deltaTime; } if (atTime <= 0 && dist(Feny.transform.position, transform.position) < AtkRange) { atTime = TimeForAttack; atkd = false; } if (atTime > 0) { if (atTime < 0.5 * TimeForAttack && !atkd && damage > 0) { if (Feny.GetComponent <NewBehaviourScript>() == null) { Feny.GetComponent <BriskScript>().GetDamage(damage); } else { Feny.GetComponent <NewBehaviourScript>().GetDamage(damage); } atkd = true; } atTime -= Time.deltaTime; } if (dist(target, transform.position) > 0.3) { rb.velocity = new Vector2(speed * (target.x - transform.position.x) / dist(target, transform.position), 0.85f * speed * (target.y - transform.position.y) / dist(target, transform.position)); } else { rb.velocity = new Vector2(0, 0); } if (fight || lastAtackGot > 0) { target = Feny.transform.position; } else { if (Random.value > 0.993) { target = transform.position + new Vector3(Random.value * 2 - 1, Random.value * 2 - 1, 0); } } fight = dist(transform.position, Feny.transform.position) < 3; float y = transform.localPosition.y, z = transform.localPosition.z; z = z - (float)(y - 1); transform.localPosition -= new Vector3(0, 0, z); x = dist(Feny.transform.position, transform.position); if ((right && rb.velocity.x < 0) || (!right && rb.velocity.x > 0)) { flip(); right = !right; } if (lastAtackGot > 0) { lastAtackGot -= Time.deltaTime; } hpbar.fillAmount = hp / mhp; if (hp < 0) { Destroy(hpbar); if (enemyID == 3) { spawn(transform.position + new Vector3(0.3f, 0, 0)); spawn(transform.position - new Vector3(0.3f, 0, 0)); spawn(transform.position + new Vector3(0, 0.3f, 0)); spawn(transform.position - new Vector3(0, 0.3f, 0)); GameObject lootItem = Instantiate(loot, transform.localPosition, transform.rotation) as GameObject; } GameObject clone = Instantiate(dfx, transform.localPosition, transform.rotation) as GameObject; Destroy(gameObject); } if (enemyID == 2) { hpbar.transform.localPosition = new Vector3(0, GetComponent <SpriteRenderer>().sprite.rect.size.y / 80 - .5f, 0); } }