티스토리 뷰
오늘 한 일
- 오전
- 게임종료(승리) 팝업 작업
- 게임결과
- 침입한 인간 수에 따른 별 점수
- 게임결과정보
- 다음스테이지 버튼
- 게임씬 재로드
- 로비 버튼
- 로비로 돌아가는 버튼
- 게임결과
- 게임종료(패배) 팝업 작업
- 재시작 버튼
- 게임결과정보
- 로비 버튼
- 오후
- 게임종료 팝업 작업
- 로비 스테이지 선택 팝업창 마무리
- 게임종료(승리) 팝업 작업
공부한 것
오늘은 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();
인스턴스화 해서 작성해준 함수를 호출해주면 됩니다.