diff --git a/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs b/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs new file mode 100644 index 00000000..8597c1e1 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs @@ -0,0 +1,16 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace TON +{ + public class damageTest : MonoBehaviour, IDamage + { + public float hp = 1000; + + public void ApplyDamage(float damage) + { + hp -= damage; + } + } +} diff --git a/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs.meta b/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs.meta new file mode 100644 index 00000000..905b26c4 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c8ade3f04687f649901ed5d76803892 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/DarknessBall.cs b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/DarknessBall.cs index 2edc5f6b..25a40a21 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/DarknessBall.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/DarknessBall.cs @@ -9,9 +9,15 @@ namespace TON private float elapsedTime; // 경과 시간 저장 변수 public float destoryTime = 2f; + public float attackPower; + public float damage; + public string id = "K0003"; + void OnEnable() { elapsedTime = 0f; // 오브젝트가 활성화될 때 초기화 + damage = SkillDataManager.Singleton.GetSkillData(id).damage; + attackPower = PlayerDataManager.Singleton.player.attackPower; } void Update() @@ -29,7 +35,7 @@ namespace TON { if (collision.CompareTag("Monster")) // 적과 충돌 시 제거 { - // collision.gameObject.Damage(); + collision.GetComponent().ApplyDamage(damage * attackPower); ReleaseObject(); } } diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/FireBall.cs b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/FireBall.cs index 6df5f099..ee88e251 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/FireBall.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/FireBall.cs @@ -10,9 +10,15 @@ namespace TON private float elapsedTime; // 경과 시간 저장 변수 public float destoryTime = 2f; + public float attackPower; + public float damage; + public string id = "K0001"; + void OnEnable() { elapsedTime = 0f; // 오브젝트가 활성화될 때 초기화 + damage = SkillDataManager.Singleton.GetSkillData(id).damage; + attackPower = PlayerDataManager.Singleton.player.attackPower; } void Update() @@ -30,6 +36,7 @@ namespace TON { if (collision.CompareTag("Monster")) // 적과 충돌 시 제거 { + collision.GetComponent().ApplyDamage(damage * attackPower); ReleaseObject(); } } diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/IceBall.cs b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/IceBall.cs index 7989a8d2..22ed5c78 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/IceBall.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/IceBall.cs @@ -9,9 +9,15 @@ namespace TON private float elapsedTime; // 경과 시간 저장 변수 public float destoryTime = 2f; + public float attackPower; + public float damage; + public string id = "K0002"; + void OnEnable() { elapsedTime = 0f; // 오브젝트가 활성화될 때 초기화 + damage = SkillDataManager.Singleton.GetSkillData(id).damage; + attackPower = PlayerDataManager.Singleton.player.attackPower; } void Update() @@ -29,6 +35,7 @@ namespace TON { if (collision.CompareTag("Monster")) // 적과 충돌 시 제거 { + collision.GetComponent().ApplyDamage(damage * attackPower); ReleaseObject(); } } diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs new file mode 100644 index 00000000..7d9290dd --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace TON +{ + public class SkillDataManager : SingletonBase + { + public List skillDatas { get; private set; } + + protected override void Awake() + { + base.Awake(); + LoadSkillData(); + } + + private void LoadSkillData() + { + skillDatas = JSONLoader.LoadFromResources>("Skill"); + if (skillDatas == null) + { + skillDatas = new List(); + } + } + + public SkillData GetSkillData(string skillId) + { + return skillDatas.Find(v => v.id == skillId); + } + } +} diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs.meta b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs.meta new file mode 100644 index 00000000..b3ebf247 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6eedee4d78efcd0409acbbe2ca1da519 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Gameton/Scripts/GameData/SkillData.cs b/Gameton-06/Assets/Gameton/Scripts/GameData/SkillData.cs index 9dd905e0..7ea95112 100644 --- a/Gameton-06/Assets/Gameton/Scripts/GameData/SkillData.cs +++ b/Gameton-06/Assets/Gameton/Scripts/GameData/SkillData.cs @@ -8,7 +8,7 @@ namespace TON public class SkillData { public int characterId; - public int id; + public string id; public int mp; public float damage; public int cooltime;