void OnTriggerEnter(Collider other) { if (mAttackActionInfo == null) { return; } if (other.gameObject == mOwner.gameObject) { return; } HitCollider hitObj = other.gameObject.GetComponent <HitCollider>(); if (hitObj == null) { return; } CharacterProperty character = hitObj.mOwner; if (character) { float hitTime = Time.time - t; character.Hit(mOwner, mAttackActionInfo.value); //character.HitRate GameObject hitEffect = Instantiate(Resources.Load("Effects/Hits/SimpleHitFlash"), CheckCollider.ClosestPointOnBounds(other.transform.position), Quaternion.identity) as GameObject; Destroy(hitEffect, 3.0f); mAttackActionInfo = null; CheckCollider.enabled = false; } }
protected override void Execute(CharacterProperty target) { int t = Mathf.FloorToInt(LivedTime); if (t != damageTime) { target.Hit(target, mDPS); damageTime = t; } }