public void ArrowColliderEnterCallback(Collider collider, float attackPower) { if ((SlasheonUtility.IsLayerNameMatch(collider.gameObject, "Enemy"))) { MissionActor hitActor = collider.gameObject.GetComponent <MissionActor>(); hitActor.Damage(attackPower); _playerController.InstanceArrowDamageEffect(collider); } }
public void SlashColliderEnterCallback(Collider collider) { if (_playerController.PlayerState.stamina < _playerController.PlayerState.consumptionStaminaSlashHit) { _playerController.SlashCollider.RemoveCollider(); return; } if ((SlasheonUtility.IsLayerNameMatch(collider.gameObject, "Enemy"))) { MissionActor hitActor = collider.gameObject.GetComponent <MissionActor>(); //一度の斬撃で複数回ダメージ判定しないように調整 int hitedCount = slashHitEnemyList.Where(x => x.transform.GetInstanceID() == hitActor.transform.GetInstanceID()).Count(); if (hitedCount == 0) { hitActor.Damage(_playerController.ActorState.attack); _playerController.InstanceSlashDamageEffect(collider, InputManager.Instance.GetTouchPosition(slashTouchID)); slashHitEnemyList.Add(hitActor); UpdateStamina(_playerController.PlayerState.consumptionStaminaSlashHit); } } }