From 5968ae7a7324251a9c33c0896df34fb2e1ba17ef Mon Sep 17 00:00:00 2001 From: "aube.lee" Date: Fri, 7 Feb 2025 17:01:57 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BA=90=EB=A6=AD=ED=84=B0=20=EA=B8=B0?= =?UTF-8?q?=EB=B3=B8=20=EA=B3=B5=EA=B2=A9=20=EB=A1=9C=EC=A7=81=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EB=AA=AC=EC=8A=A4?= =?UTF-8?q?=ED=84=B0=20=EB=B0=A9=EC=96=B4=EB=A0=A5=20=EB=B3=80=EC=88=98=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Character/CollisionDetector .cs | 5 ++++- .../Gameton/Scripts/Monster/MonsterBase.cs | 22 +++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/CollisionDetector .cs b/Gameton-06/Assets/Gameton/Scripts/Character/CollisionDetector .cs index 727c3906..7752ad15 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/CollisionDetector .cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/CollisionDetector .cs @@ -28,7 +28,10 @@ namespace TON // 기본 데미지 계산 // TODO: 장비 공격력 반영 필요 // float damage = damageCalculator.CalculateBaseDamage(playerData.attackPower, playerData.equipmentAttack, playerData.defensivePower); - float damage = damageCalculator.CalculateBaseDamage(playerData.attackPower, 0, playerData.defensivePower); + + // 몬스터 방어력 + float monsterDefencePower = collision.GetComponent().defencePower; + float damage = damageCalculator.CalculateBaseDamage(playerData.attackPower, 0, monsterDefencePower); // 치명타 적용 (캐릭터는 적용) damage = damageCalculator.ApplyCriticalDamage(damage, true); diff --git a/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs b/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs index aa90f2b5..b2ee2ff8 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs @@ -23,37 +23,41 @@ namespace TON private Vector3 _direction; private bool _isWalking; private float _currentTime; - + [SerializeField] private int _idleTime = 2; - + [SerializeField] private int walkingTime = 2; - + [SerializeField] private GameObject _target; + public float defencePower; + // Start is called before the first frame update void Start() { _currentTime = Time.realtimeSinceStartup; - + _animator = GetComponent(); - + _direction = new Vector3(1, 0, 0); - + _spriteRenderer.flipX = !(_direction.x > 0); + // TODO: 몬스터 방어력 세팅 임시값 + defencePower = 10f; } - + // Update is called once per frame void Update() { // todo : 타겟 감지 >> 몬스터의 원형 시야 안에 플레이어가 충돌했는지 여부 // todo : 충돌 했으면 attack 전환 (바로 그냥 공격하게 따라가지 말고) // todo : 시야를 벗어났으면 idle 전환 - - + + if (_isWalking) { // walking 상태에서 walkingTime을 초과할 경우 idle 애니메이션 재생