// private void TriggerAttack() // { // anim.ResetTrigger("stopAttack"); // anim.SetTrigger("attack"); // } // private void OnCollisionEnter(Collision other) { // print("collision enter: " + other.gameObject.name); // } private void OnTriggerEnter(Collider other) { if (this.gameObject.tag.Equals("Player")) { HandlePlayerHit(other); } else { // if(other.gameObject.name=="Player"){ // print("target: " + target.gameObject.name); // print("other: " + other.gameObject.name); // print("can trigger: " + currentWeapon.value.GetCanTrigger()); // } if (target == null) { return; } if (!currentWeapon.value.GetCanTrigger()) { return; } if (target != other.gameObject.GetComponent <Health>()) { return; } if (target.GetInstigatorDamageCooldown(character) > 0) { return; } float damage = baseStat.GetStat(Stat.Damage); Armour armour = other.gameObject.GetComponent <Armour>(); if (target.IsDamageTaken(character, damage)) { if (currentWeapon.value != null) { currentWeapon.value.OnHit(armour.GetArmourType()); } } // if (currentWeaponConfig.hasProjectile()) // { // currentWeaponConfig.LaunchProjectile(rightHandTransform, leftHandTransform, target, gameObject, damage); // } // else // { // target.TakeDamage(gameObject, damage); // } } }