몬스터 데이터 처리 정리중

This commit is contained in:
Mingu Kim
2025-02-09 00:10:28 +09:00
parent 5f69ad8e30
commit 8a65bf7d31
7 changed files with 99 additions and 0 deletions

View File

@@ -59,6 +59,15 @@ namespace TON
// TODO: 몬스터 방어력 임시값
defencePower = 10f;
// // 몬스터 데이터 로드
// MonsterData monsterData = MonsterDataManager.Instance.monsterDataDict[monsterID];
//
// // 몬스터 데이터 적용
// Debug.Log("몬스터 이름: " + monsterData.name);
// Debug.Log("공격력: " + monsterData.attackPower);
// Debug.Log("체력: " + monsterData.health);
// Debug.Log("속도: " + monsterData.speed);
}
// Update is called once per frame

View File

@@ -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;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3baf3e61ce1aff24b90ec264fa763bd0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,79 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TON
{
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class MonsterDataManager : MonoBehaviour
{
public static MonsterDataManager Instance { get; private set; }
public Dictionary<int, MonsterData> monsterDataDict = new Dictionary<int, MonsterData>();
// void Awake()
// {
// if (Instance == null)
// {
// Instance = this;
// }
// else
// {
// Destroy(gameObject);
// return;
// }
//
// LoadMonsterData("monster_data.csv"); // CSV 파일 이름
// }
// void LoadMonsterData(string fileName)
// {
// List<string[]> data = ReadCSV(fileName);
//
// // 첫 번째 행은 헤더이므로 건너뜀
// for (int i = 1; i < data.Count; i++)
// {
// string[] row = data[i];
// MonsterData monsterData = new MonsterData();
//
// monsterData.id = int.Parse(row[0]);
// monsterData.name = row[1];
// monsterData.attackPower = int.Parse(row[2]);
// monsterData.health = int.Parse(row[3]);
// monsterData.speed = float.Parse(row[4]);
//
// monsterDataDict.Add(monsterData.id, monsterData);
// }
// }
//
// List<string[]> ReadCSV(string fileName)
// {
// List<string[]> data = new List<string[]>();
// TextAsset textAsset = Resources.Load<TextAsset>(fileName); // Resources 폴더에서 파일 로드
//
// using (StringReader reader = new StringReader(textAsset.text))
// {
// while (!reader.EndOfStream)
// {
// string line = reader.ReadLine();
// string[] row = line.Split(',');
// data.Add(row);
// }
// }
//
// return data;
// }
}
}
// 몬스터 데이터 클래스
public class MonsterData
{
public int id;
public string name;
public int attackPower;
public int health;
public float speed;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 712b398b6e440d145ab6411f01a39478
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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; // 스킬 범위(콜라이더 조정)
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 68285054ac94bb741b8b33e422a9e28c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: