From 6f779c21a01cf4ff438a25ed7b4019b13b00c407 Mon Sep 17 00:00:00 2001 From: "aube.lee" Date: Wed, 5 Feb 2025 00:06:25 +0900 Subject: [PATCH] =?UTF-8?q?=EC=8A=A4=ED=82=AC=20=EB=B0=9C=EC=82=AC?= =?UTF-8?q?=EC=B2=B4=EC=97=90=20=EB=8D=B0=EB=AF=B8=EC=A7=80=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EB=8A=94=20=EB=A1=9C=EC=A7=81=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Personal Scenes/dev_jinjoo/damageTest.cs | 16 ++++++++++ .../dev_jinjoo/damageTest.cs.meta | 11 +++++++ .../Scripts/Character/Skill/DarknessBall.cs | 8 ++++- .../Scripts/Character/Skill/FireBall.cs | 7 +++++ .../Scripts/Character/Skill/IceBall.cs | 7 +++++ .../Character/Skill/SkillDataManager.cs | 31 +++++++++++++++++++ .../Character/Skill/SkillDataManager.cs.meta | 11 +++++++ .../Gameton/Scripts/GameData/SkillData.cs | 2 +- 8 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs create mode 100644 Gameton-06/Assets/Gameton/Scenes/Personal Scenes/dev_jinjoo/damageTest.cs.meta create mode 100644 Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs create mode 100644 Gameton-06/Assets/Gameton/Scripts/Character/Skill/SkillDataManager.cs.meta 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;