티스토리 뷰

오늘 한 일

    • 오전
      • 게임종료(승리) 팝업 작업
        • 게임결과
          • 침입한 인간 수에 따른 별 점수
          • 게임결과정보
        • 다음스테이지 버튼
          • 게임씬 재로드
        • 로비 버튼
          • 로비로 돌아가는 버튼
      • 게임종료(패배) 팝업 작업
        • 재시작 버튼
        • 게임결과정보
        • 로비 버튼
      • 오후
        • 게임종료 팝업 작업
        • 로비 스테이지 선택 팝업창 마무리

공부한 것

 

오늘은 DataManager을 만들었습니다.

 

UniGs를 통해서 GetList를 하면 List를 가져와주지만 모든 정보를 가져오는게 흠이었습니다

 

 

예를 들면

id monsterName spriteName desc
1 A AA A설명
2 B BB B설명
3 C CC C설명

 

다음 테이블의 정보에서

저는 id와 spritName만 필요로합니다.

 

UI스크립트에 바로 GelList로 정보를 모두 가져와 가공하기엔 책임분리가 이루어지지 않고

유지보수도 어려워 보입니다.

 

 

public class MonsterSpriteData
{
    public int id;
    public string spriteName;
}

public class DataManager : SingletonBase<DataManager>
{
    protected override void Awake()
    {
        base.Awake();
        DontDestroyOnLoad(gameObject);
    }

    public List<MonsterSpriteData> GetMonsterSpriteData()
    {
        var selectedData = TestTable.Data.GetList()
        .Select(monster => new MonsterSpriteData
        {
            id = monster.Id,
            spriteName = monster.spriteName
        })
        .ToList();

        return selectedData;
    }
}

 

다음과같이 DataManager을 짰습니다

 

필요한 테이블의 정보를 DataManager가 불러와 가공하도록 했습니다

 

 public List<MonsterSpriteData> GetMonsterSpriteData()

와 같이 id와 spriteName만 가져올 수 있는 함수를 만들어 데이터를 가져오게 했습니다

 

 

 

DataManager에서 가공한 데이터를 쓰는 방법은

 

_monstersSprite = DataManager.Instance.GetMonsterSpriteData();

 

인스턴스화 해서 작성해준 함수를 호출해주면 됩니다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함