유니티엑셀 3

[유니티/C#] 클래스에서 원하는 조건의 랜덤 항목 뽑아오기

팀의 기획자가 "랜덤으로 스킬을 3가지 뽑아달라" 고 요청했다. 이런 흐름으로, 원하는 조건에 맞는 스킬을 뽑아올 수 있어야 했다. 이전에 작성한 글에서 csv파일을 읽어와 Skill 클래스에 저장했으니, 저장한 Skill들을 바탕으로 정보를 비교해 가져오기만 하면 된다. . . . . 하지만 생각보다 로직을 짜기 힘들어서 고생 깨나 했다. public List GetRandomSkills(Dictionary friendshipDic, List skillList, int count) { // 랜덤으로 선택된 스킬을 임시 저장할 리스트 List chosenSkills = new List(); // count 개수만큼 스킬을 선택할 때까지 반복 while (chosenSkills.Count < count) ..

[유니티/C#] DataTable의 모든 행 읽어오기

원래는 간단한 테이블만 사용해서, 코드도 간단하게 만들어서 사용하고 있었다. 그런데 게임 기획이 바뀌고 데이터를 저장해야할 일이 많아져서, 기존에 사용하던 코드로 작업을 진행했다가는 돌이킬 수 없을것 같은 예감이 들었다. 아래에는 개편된 코드를 대략적으로 적어보려고 한다. 우선, 스킬들을 관리하기 위한 클래스를 작성했다. public class Skill { public int Skill_ID { get; set; } public int GodID { get; set; } public string SkillName { get; set; } public int SkillLevel { get; set; } public int SkillGroupID { get; set; } public int PriorSki..

[유니티/C#] DataTable로 엑셀 csv파일 읽어오기

DataTable을 사용해서 csv파일을 읽어와 게임 내 데이터를 관리하려고 했다. 하지만 전체 테이블과 행을 읽어오는것은 되는데 string으로 열을 불러와도 "" 이런식으로 빈 값만 반환되었다. DataManager 스크립트 // 리소스화 시킬 데이터테이블의 종류 열거형 public enum ECSVDatas { PlayerTable = 0, MonsterTable, End } public class DataManager { // 불러올 데이터테이블 딕셔너리 public Dictionary tableDic { get; private set; } = new Dictionary(); // 생성자 호출 시 자동으로 csv를 불러와 딕셔너리에 저장 public DataManager() { TableInit(..