void Damage(FishBase enemy) { if (enemy.Team != Team) { Param.Hp -= enemy.Param.Attack; Emotion.AddAngry(Param.Aggressive - enemy.Param.Attack); Target = enemy.gameObject; } }
/// <summary> /// 敵との接触 /// </summary> void CheckHitEnemy(Collider2D collision, UnityAction <FishBase> cb, bool isStay = false) { FishBase enemy = collision.gameObject.GetComponent <FishBase>(); if (enemy != null) { cb(enemy); } if (!isStay) { OnHitEnemy(enemy); } }
protected override void OnHitEnemy(FishBase enemy) { }
protected abstract void OnHitEnemy(FishBase enemy);
void KnockBack(FishBase enemy) { _rigidbody.velocity += (Vector2)(transform.position - (enemy.transform.position)).normalized * (enemy.Param.Attack); }
private void Awake() { _fish = GetComponent <FishBase>(); }