질문코드를 변경해야할까.. 코드를 작성할수록 질문코드를 변경해야하지 않나?…라는 의문이 계속 떠오른다..
가장 큰 이유는 데이터의 의존성, db 에서 받아써야한다는 점에서있다.
만약 previousQuestions에 들어갈 배열이 [1,2,3,4]라고 가정해보자. 이 질문은 RandomLetter코드에서 ‘오늘 하루 어때?’ 라는 코드를 출력한다.
가장 먼저 생성된 질문은 MailList의 가장 처음에 띄워진다.
for ( int maxnum = 9; maxnum >= 0; maxnum—)
{
질문출력 class 생성한 인스턴스 (
priviousquestion[maxnum][0],
priviousquestion[maxnum][1],
priviousquestion[maxnum][2],
priviousquestion[maxnum][3]
)
그럼 질문이 출력되겠지
GameObject button = Instantiate(buttonPrefab, buttonContainer);
Text buttonText = button.GetComponentInChildren<Text>();
buttonText.text = resultQuestion;
}
위에처럼 바로바로 출력하고 싶다…그럼 string식으로 저장을 안해도 된다..
앗???????/ 그냥 db에서 받아도 되겠네?
그러네??????/꼭 db에서 배열의형태로만 받아오지말고 그냥 string의 형태로 받아와도 되겠구나?
⇒ 된다
클릭하면 해당 질문이 편지로 크게 띄워진다.
[그림그리기] 또는 [넘어거기]로 db PrevLetter 테이블의 in_active 필드가 결정된다.
그림그리는 draw씬에서 편지 띄워진다
그림을(씬) 저장하면 질문 (편지)와 함께 저장된다.
저장된 그림과 질문은 최대 5개 main 씬에 띄워지며 랜덤 삭제된다.
수정하기 전 일단 질문코드부터 코드리뷰해보자
Letter : 배열 + 질문생성코드
RandomLetter : 배열의 중복을 판별하고 previousQuestions에 새로운 질문을 Add한다.
Start() : 게임 시작 시 가장 먼저 실행GetLetter() : 배열 중복판별, 새로운 질문 저장RandomLetterList :위에서 생성되는 배열로 레벨에 따른 option, question범위와 .Length를 받아온다.
QuestionLevel1 : 레벨을 받아 랜덤 범위를 결정하고, 레벨의 랜덤값을 받아 question의 option을 결정OptionQuestion1 : 랜덤으로 결정된 Level, question, option값을 넣어 질문을 출력함.