diff --git a/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_mingu/Controller.cs b/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_mingu/Controller.cs index 54302292..f5572b63 100644 --- a/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_mingu/Controller.cs +++ b/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_mingu/Controller.cs @@ -19,7 +19,7 @@ namespace TON private void Update() { - bool isMoving = false; + // bool isMoving = false; if (Input.GetKey(KeyCode.RightArrow)) { @@ -27,7 +27,7 @@ namespace TON position.x += 5.0f * Time.deltaTime; _cachedTransform.position = position; - isMoving = true; + // isMoving = true; _spriteRenderer.flipX = false; } @@ -37,7 +37,7 @@ namespace TON position.x -= 5.0f * Time.deltaTime; _cachedTransform.position = position; - isMoving = true; + // isMoving = true; _spriteRenderer.flipX = true; } @@ -47,7 +47,7 @@ namespace TON position.y += 10.0f * Time.deltaTime; _cachedTransform.position = position; - isMoving = true; + // isMoving = true; _spriteRenderer.flipX = true; } diff --git a/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterData.cs b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterData.cs new file mode 100644 index 00000000..ca218398 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterData.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace TON +{ + [System.Serializable] + public class MonsterData + { + // 몬스터 아이디 + public int id; + // 몬스터 명 or 프리팹 명? + public string name; + // 몬스터 타입 ex : melee, ranged + public string monsterType; + // 몬스터 체력 + public int hp; + + // 기본 공격력 + public int attackPower; + // 기본 방어력 + public int defensivePower; + + public MonsterData(int id, string monsterType, string name, int hp, int attackPower, int defensivePower) + { + id = this.id; + monsterType = this.monsterType == "monster" ? "melle" : "ranged"; + name = this.name; + hp = this.hp; + attackPower = this.attackPower; + defensivePower = this.defensivePower; + } + } +} diff --git a/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterData.cs.meta b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterData.cs.meta new file mode 100644 index 00000000..ca79ef8c --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3baf3e61ce1aff24b90ec264fa763bd0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterSkillData.cs b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterSkillData.cs new file mode 100644 index 00000000..bc537c3a --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterSkillData.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace TON +{ + [System.Serializable] + + public class MonsterSkillData + { + public int id; // 몬스터 id + public string skillType; // 스킬 타입(공격, 근거리, 원거리) + public int damage; // 스킬 피해량 + public float coolTime; // 스킬 쿨타임 + public float skillRange; // 스킬 범위(콜라이더 조정) + } +} diff --git a/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterSkillData.cs.meta b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterSkillData.cs.meta new file mode 100644 index 00000000..8aa39ef4 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/GameData/MonsterSkillData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68285054ac94bb741b8b33e422a9e28c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs b/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs index 75233d79..02d335f8 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Monster/MonsterBase.cs @@ -14,7 +14,7 @@ namespace TON public int id; // 적 고유 ID public float currentHP = 100; // HP - public string name; // 몬스터 명 or 프리팹 명 + // public string name; // 몬스터 명 or 프리팹 명 public string monsterType; // 몬스터 타입 ex : melee, ranged @@ -68,12 +68,6 @@ namespace TON // todo : 충돌 했으면 attack 전환 (바로 그냥 공격하게 따라가지 말고) // todo : 시야를 벗어났으면 idle 전환 - if (_isDetect) - { - _animator.SetTrigger("Attack"); - _isWalking = false; - } - if (_isWalking) { // walking 상태에서 walkingTime을 초과할 경우 idle 애니메이션 재생 @@ -130,12 +124,12 @@ namespace TON if (prevHP > 0 && currentHP <= 0) { - _animator.SetBool("Die", true); // 몬스터 죽는 애니메이션 트리거 + // _animator.SetBool("Die", true); // 몬스터 죽는 애니메이션 트리거 Destroy(gameObject); // 몬스터 파괴 } else if (prevHP > 0 && currentHP > 0) { - _animator.SetBool("Hit", true); // 피격 애니메이션 + // _animator.SetBool("Hit", true); // 피격 애니메이션 } } @@ -160,6 +154,11 @@ namespace TON if (other.collider.CompareTag("Player")) { _isDetect = true; + _animator.SetTrigger("Attack"); + if (_isDetect) + { + _isWalking = false; + } MonsterAttack(other.gameObject); // 플레이어에게 공격 Debug.Log("감지됨"); } @@ -168,6 +167,8 @@ namespace TON private void OnCollisionExit2D(Collision2D other) { _isDetect = false; + + _isWalking = true; } } } diff --git a/Gameton-06/Assets/PixelFantasy/PixelMonsters/Common/Animation/Controller.controller b/Gameton-06/Assets/PixelFantasy/PixelMonsters/Common/Animation/Controller.controller index a38c7a2a..c46d5a78 100644 --- a/Gameton-06/Assets/PixelFantasy/PixelMonsters/Common/Animation/Controller.controller +++ b/Gameton-06/Assets/PixelFantasy/PixelMonsters/Common/Animation/Controller.controller @@ -1,5 +1,30 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1101 &-9185475322345085776 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Attack + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 3188460960225426455} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.7500001 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &-8779183371588601510 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -531,6 +556,31 @@ AnimatorController: m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} +--- !u!1101 &2959070162634278488 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -56690746207215259} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1107 &3007215386161293610 AnimatorStateMachine: serializedVersion: 6 @@ -571,7 +621,8 @@ AnimatorState: m_Name: Attack m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 6891052141285990821} m_StateMachineBehaviours: - {fileID: 4517560952412984766} m_Position: {x: 50, y: 50, z: 0} @@ -588,31 +639,6 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: ---- !u!1101 &3219202489512463615 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: Walk - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -56690746207215259} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 --- !u!1107 &3586348641808003577 AnimatorStateMachine: serializedVersion: 6 @@ -627,30 +653,31 @@ AnimatorStateMachine: m_Position: {x: 330, y: 130, z: 0} - serializedVersion: 1 m_State: {fileID: -56690746207215259} - m_Position: {x: 630, y: 130, z: 0} + m_Position: {x: 610, y: 130, z: 0} - serializedVersion: 1 m_State: {fileID: 4602458092277031176} - m_Position: {x: 1060, y: 280, z: 0} + m_Position: {x: 920, y: 190, z: 0} - serializedVersion: 1 m_State: {fileID: -4838633882212068965} - m_Position: {x: 1060, y: 350, z: 0} + m_Position: {x: 920, y: 260, z: 0} - serializedVersion: 1 m_State: {fileID: 3188460960225426455} - m_Position: {x: 490, y: 240, z: 0} + m_Position: {x: 330, y: 230, z: 0} - serializedVersion: 1 m_State: {fileID: -136569306282141652} - m_Position: {x: 1060, y: 220, z: 0} + m_Position: {x: 920, y: 130, z: 0} - serializedVersion: 1 m_State: {fileID: -7991831788900291451} - m_Position: {x: 1060, y: 410, z: 0} + m_Position: {x: 920, y: 320, z: 0} m_ChildStateMachines: [] - m_AnyStateTransitions: [] + m_AnyStateTransitions: + - {fileID: -9185475322345085776} m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 210, y: 240, z: 0} - m_EntryPosition: {x: 20, y: 140, z: 0} - m_ExitPosition: {x: 1000, y: 130, z: 0} + m_AnyStatePosition: {x: 30, y: 230, z: 0} + m_EntryPosition: {x: 30, y: 130, z: 0} + m_ExitPosition: {x: 30, y: 330, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 6342953676309033787} --- !u!114 &4102650195156319639 @@ -718,7 +745,7 @@ AnimatorState: m_Speed: 1 m_CycleOffset: 0 m_Transitions: - - {fileID: 3219202489512463615} + - {fileID: 2959070162634278488} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -734,6 +761,34 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &6891052141285990821 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Idle + m_EventTreshold: 0 + - m_ConditionMode: 1 + m_ConditionEvent: Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6342953676309033787} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.4 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &7048088606751916887 AnimatorStateTransition: m_ObjectHideFlags: 1