Unity 내배캠 TIL

Unity 게임 개발 최종 팀 프로젝트 (10주차 4일)

오늘도즐겨 2024. 11. 29. 00:40

🔥 11월28일 목요일 목표 🔥

🔍팀 프로젝트 엑셀 데이터 시트 만들어서 정보 받아오기

🔍팀 프로젝트 게임 씬 UI정보 받아와서 넣어주기

 

예시로 쓸 엑셀 데이터 시트 만들어 놓기!

📌UnitTable Sheet

 

📌Enum Data Sheet

 

👀 ExcelDataSheet를 담을 폴더를 만들어 넣어줌!

 

 

👀 Util폴더안에 영호 튜터님께서 만들어주신 ExcelToJsonWizard를 활용!

       ExcelToJsonWizard.exe 파일을 열어 컴파일링 해주고, log폴더 확인 하기

 

아무 log가 뜨지 않는다면, 성공적으로 엑셀시트가 생성됨!

 

👀 성공적으로 생성된 모습

 

나중에 수정할 거지만, Core스크립트에 모든 매니저들이 담겨 있고 ,  

UnitTable은 DataBase<UnitTable> 타입의 프로퍼티

public class DataManager
{
    public readonly Dictionary<int, UnitSO> UnitDict = new();
    
    public DataBase<SkillInfo> SkillInfoTable { get; private set; }
    public DataBase<UnitTable> UnitTable { get; private set; }
    
    public void Init()
    {     
        SkillInfoTable = new DataBase<SkillInfo>(Utils.Str.Clear().Append(Path.DataPath).Append("JSON/SkillInfo").ToString());
        UnitTable = new DataBase<UnitTable>(Utils.Str.Clear().Append(Path.DataPath).Append("JSON/UnitTable").ToString());
    }
}

 

👀 DataBase내부에서 리스트와 딕셔너리를 사용해 값을 받아오는 변수와 메서드를 이용!

 

public class DummyUnit : MonoBehaviour
{
    public UnitTable unitTable;
    public int key;

    void Start()
    { 
        unitTable = Core.DataManager.UnitTable.GetByKey(key);
    }
}

 

 

👀키값을 받아와서 생성해준 데이터가 들어간 모습

 

 

📌CompareToTag() 대신 LayerMask를 활용해 Ray체크하기

 

 

🔥 11월29일 금요일 목표 🔥

🔍팀 프로젝트 엑셀 데이터 시트 만들어서 정보 받아오기

🔍팀 프로젝트 게임 씬 UI 나눠서 관리하기