protected override void OnTriggerEnter(Collider col) { if (col.gameObject.layer == (int)ObjectLayer.Player) { RealAttack = BasicAttack * AttackFactor; //传参给Player告知受伤 TransformForward = EnemyMedi.EnemyMono.transform.forward; PlayerHurtAttr.ModifyAttr((int)RealAttack, VelocityForward, VelocityVertical, TransformForward, canDefeatedFly); if (IsOnlyPlayer) { if (OnlyPlayerMono == null) { OnlyPlayerMono = col.GetComponent <IPlayerMono>(); } OnlyPlayerMono.Hurt(PlayerHurtAttr); } else { col.GetComponent <IPlayerMono>().Hurt(PlayerHurtAttr); } if (hitEffectPath != string.Empty) { resourcesMgr.LoadAsset(hitEffectPath, true, transform.position, Quaternion.identity); } //HasHit = true; OnWeaponHit.Invoke(); } } // end_function
public WeaponModificator(string name, float value, OnWeaponHit effect) { Name = name; Value = value; Effect = effect; }