🔥 11/26 화요일 목표 🔥
🔎 최종 팀 프로젝트 시작
턴제 전투의 GameManager부분을 맡게 되었는데,
턴제가 처음이라 어려울 거라 생각 했는데,
사실 State 를 Enum으로 분류해놓고, 기본 구조를 짜둔 정도에
다른 팀원분들의 작업이 끝나면 추가하는 방식으로 진행이 될 것 같다!
오전 중으로 GameManager의 전체적인 틀이 완성 되었다.
현재는 메소드를 생성해두고, OnClick으로 버튼에 넣어줘서 구현 확인 정도 가능하다.
추가적인 구현이 필요해 현재 상태는 완료대기!
📌팀노션의 (완료대기) 진행 현황판!!^-^
📌팀노션의 (작업중) 진행 현황판!!^-^
프로토타입의 과정이라 세세한구현 보다는 구현부터 시켜보자 라는 것에 의의를 두자 였기 때문에!
생각보다 일찍 끝나버려서 살짝 재 분배를 하면서 2주차의 과정을 살짝 앞당겨 오기로 했다.
인게임씬 UI
UI관련 데이터 업데이트?를 하는 방향으로 진행 했는데, 현재 테스트씬의 사진...✨
일단 UnitSO가 있어야해서, Data부분은 싹다 3주차로 미뤄뒀는데
1개를 만들어서 데이터매니저를 통해 List에 담아 Key값으로 불러 오기로 했다.
사실 구조적으로는 이해를 했는데, 코드는 공부가 더 필요해 보였다.
📌DataManager
public class DataManager
{
public readonly Dictionary<int, UnitSO> UnitDict = new();
public void Init()
{
var unitDataList = Resources.Load<UnitSOList>("Data/SOs/UnitSOList");
foreach (var t in unitDataList.Units)
UnitDict.Add(t.iD, t);
}
}
📌UnitInfo
public class UnitInfo
{
public UnitSO UnitSo;
public int Level;
}
📌UnitSO
public enum Rank
{
Rare,
Legendary
}
[CreateAssetMenu (fileName = "UnitSO", menuName = "UnitSO")]
public class UnitSO : ScriptableObject
{
[Header("Unit Info")]
public int iD;
public string name;
[Header("Unit Base Stat Info")]
public int attackPower;
public int defensivePower;
public int health;
[Header("Playable Info")]
//보유스킬, 병과, 돌파정보, 소대배치코스트,등급
public Sprite characterImg;
public Rank rank; //enumType으로 정리 필요
}
❓ 여기서 의문점 하나!
MonoBehaviour를 상속 받지 않는다.
왜? Why? 어째서?
사실 MonoBehaviour은 유니티의 생명주기(라이프사이클)를 따르며, 무겁다.(짜릿짜릿!풀도핑! 의 리더님의 말^^7)
MonoBehaviour를 상속 받지 않을 경우!
순수한 C#객체로 동작, 더 구조적이고, 명시적인 코드를 작성할 수 있다.또한 명확한 데이터 관리에 적합하다고 한다. MonoBehaviour는 Unity의 GameObject에 귀속되므로 순수 데이터 관리에는 불필요한 요소가 될 수 있다.
대신 MonoBehaviour를 상속받지 않으면 Unity의 주요 기능
(예: Start(), Update(), Coroutine, Inspector에 노출되는 변수 등)을 사용할 수 없다.
즉, Unity 환경과의 직접적인 통합이 어렵다.
MonoBehaviour를 상속하지 않는 클래스는 Unity 엔진과의 의존성이 줄어들어 가볍고 재사용 가능한 구조를 만들 수 있지만,
Unity와 통합된 기능을 활용해야 하는 경우에는 적합하지 않을 수 있다. 적재적소에 적절히 사용하는 것이 중요!!!
🔥 11/27 수요일 목표 🔥
🔎 팀 프로젝트 UI에 정보 업데이트 - 로직 구현
'Unity 내배캠 TIL' 카테고리의 다른 글
Unity 게임 개발 최종 팀 프로젝트 (10주차 4일) (1) | 2024.11.29 |
---|---|
Unity 게임 개발 최종 팀 프로젝트 (10주차 3일) (0) | 2024.11.28 |
Unity 게임 개발 최종 팀 프로젝트 (10주차 1일) (1) | 2024.11.25 |
Unity 게임 개발 심화 (9주차 5일) (0) | 2024.11.25 |
Unity 게임 개발 심화 (9주차 4일) (0) | 2024.11.25 |