======================================== * 시간 : 15:00 ~ 17:00 * ì°¸ì„ìž : 조수운, 류기현, 류기훈 * ì£¼ì œ : í´ë¼ì´ì–¸íŠ¸ì˜ 시스템 설계 ê³µìœ ë° ë³´ì™„ì í† ë¡ ======================================== * 장면 구조 - 장면(Scene)ì€ *.unity 파ì¼ê³¼ëŠ” 별ë„ì˜ ê°œë…ì„ ê°€ì§„ ìš©ì–´ìž„ : 보통 *.unity 파ì¼ì„ 장면 파ì¼ì´ë¼ê³ ì¹í•˜ê¸°ëŠ” 하지만, 설계ìƒìœ¼ë¡œëŠ” ì •í™•í•œ ìš©ì–´ê°€ 아니다. - 장면과 ìž¥ë©´ì„ ì „í™˜í•˜ëŠ” 사ì´ì— 로딩 GUIê°€ í•„ìš”í•˜ê³ , ì‚¬ì‹¤ìƒ ì´ê²ƒ ë•Œë¬¸ì— UI 관리ìžëŠ” ì „ì— ê´€ë¦¬ìžê°€ ë˜ì—ˆë‹¤. : ê° ìž¥ë©´ë§ˆë‹¤ UI 관리ìžê°€ 있었다면, ìƒì„± / ì‚ì œì— ëŒ€í•œ 처리를 ì‹ ê²½ì“°ì§€ ì•Šê³ ë„ ê¹”ë”하게 êµ¬í˜„ì´ ë˜ì—ˆê² 지만, 로딩처럼 ì „í™˜ ê³¼ì •ì— í•„ìš”í•œ GUI는 ì–´ì°Œí• ë°©ë„ê°€ 없어서, ê²°êµ UI Manager는 ì „ì— ê´€ë¦¬ìž ê°ì²´ê°€ ë˜ì—ˆë‹¤. * 스테ì´ì§€ 구조 - 스테ì´ì§€ê°€ 여러 ê°œì˜ ìŠ¤í…Œì´ì§€ ì˜ì—ì„ ì†Œìœ í•˜ê³ ê´€ë¦¬í• ìˆ˜ëŠ” 있게 ë˜ì–´ 있지만, ì´ë¥¼ ì‹¤ì œë¡œ ì „í™˜í•˜ëŠ” êµ¬í˜„ì€ ì™„ì„±ë˜ì§€ 않았다. : ê°œë…ìƒìœ¼ë¡œ ê·¸ë ‡ê²Œ 관리만 가능하게 í•´ë†“ì€ ê²ƒì´ê³ , ë˜ 1스테ì´ì§€ - 1스테ì´ì§€ ì˜ì—ì˜ êµ¬ì¡°ë¥¼ 그대로 ê°€ì ¸ê°„ë‹¤ë©´, êµ³ì´ ì—¬ëŸ¬ 스테ì´ì§€ ì˜ì—ì„ ë„˜ë‚˜ë“œëŠ” êµ¬í˜„ì´ ì‹œê¸‰í•˜ì§€ 않기 때문ì´ê¸°ë„ 하다. * ìºë¦í„° 구조 - ìºë¦í„°ë“¤ì€ ì»´í¬ë„ŒíŠ¸ë¥¼ 조립하는 ë°©ì‹ìœ¼ë¡œ 설계했다. - ì»´í¬ë„ŒíŠ¸ë¼ë¦¬ í†µì‹ í•˜ëŠ” 메시지 ì´ë²¤íŠ¸ì˜ ì¸í„°íŽ˜ì´ìŠ¤ë¥¼ êµ¬í˜„í•˜ê³ ìžˆìŒ - ì»´í¬ë„ŒíŠ¸ ê°„ í†µì‹ í•˜ëŠ” 메시지 ì´ë²¤íŠ¸ ê°ì²´ 중ì—ì„œ Get~ 으로 시작하는 ì´ë²¤íŠ¸ ê°ì²´ê°€ ë§Žì€ ê²Œ ë¬¸ì œë‹¤. : ì´ë²¤íŠ¸ ê°ì²´ëŠ” Poolingì„ í•˜ê¸° ë•Œë¬¸ì— ê³¼ë„하게 íž™ í• ë‹¹ / ì‚ì œê°€ 반복ë˜ì§€ëŠ” ì•Šê² ì§€ë§Œ, ì–´ì¨Œë“ '단지 참조 하나 얻기 위한' ìž‘ì—… ì¹˜ê³ ëŠ” 너무 무거운 ë°©ì‹ì˜ ì¸í„°íŽ˜ì´ìŠ¤ë¡œ ëŒì•„ê°€ê³ ìžˆë‹¤. - 단순히 ìºë¦í„°ì˜ 기본 ì •ë³´ë¥¼ 얻기 위한 ë¶€ë¶„ì€ ë”°ë¡œ EodEntityì˜ ê¸°ë³¸ì ì¸ ë°ì´í„°ë§Œì„ 가진 í´ëž˜ìŠ¤ë¡œ ì·¨ê¸‰í•˜ê³ ,(엔진 ì˜ì¡´ì ì¸ ì •ë³´ê°€ ì „í˜€ ì—†ìŒ) ëª¨ë“ EntityComponentê°€ ì‚¬ì „ì— ì°¸ì¡°ë¥¼ ê°€ì§€ê³ ìžˆê²Œ 하는 게 ë” ë‚˜ì„ ê²ƒ 같다. * ë°ì´í„° 스í¬ë¦½íŠ¸ 구조 - Excel ë°ì´í„°ë¥¼ txt ëŒ€ì‹ XMLë¡œ 변환하는 ë°©ì‹ì„ ê³ ë ¤í–ˆìœ¼ë‚˜ 취소함 : 테스트 ê²°ê³¼, ì½ì–´ë“¤ì´ëŠ” ì†ë„ ì°¨ì´ê°€ 심하게 난다. 특히, íŒŒì¼ ê°œìˆ˜ê°€ 많ì„ìˆ˜ë¡ ì°¨ì´ê°€ ë” ì‹¬í•´ì„œ, 심지어 PCì—ì„œë„ ì „ì²´ ë°ì´í„°ë¥¼ 불러들ì´ëŠ” ì†ë„ê°€ 5, 6초씩 ì°¨ì´ê°€ ë‚˜ê¸°ë„ í•œë‹¤. ì•„ë¬´ëž˜ë„ ë°ì´í„° 스í¬ë¦½íŠ¸ 파ì¼ì´ 많아질 수 ë°–ì— ì—†ëŠ” ìž¥ë¥´ì˜ ê²Œìž„ì´ë¼ì„œ... - ëŒ€ì‹ , XML ê¸°ëŠ¥ì„ ê·¸ëŒ€ë¡œ ì¼ì„ ë•Œì˜ ìž¥ì ì„ ëª‡ 가지 ìžì²´ 구현해서 ì´ì‹í•œë‹¤. : íŠ¹ì •í•œ 필드는 ì½ì–´ì„œ ë³€ìˆ˜ì— íƒ‘ìž¬í•˜ì§€ ì•Šê³ ë„˜ê²¨ë²„ë¦¬ëŠ” 기능 등 - í•„ë“œ ë°ì´í„°ê°€ ì‚¬ì „ì— ì •í•´ì§„ ê°’ì—ì„œ ê³ ë¥´ëŠ” ë°©ì‹ì¼ ë•Œ, ì´ë¥¼ ì—´ê±°í˜•ì˜ ë¬¸ìžì—´ë¡œ í‘œí˜„í• ì§€, ì‚¬ì „ì— ë¶„ë¥˜í•œ ì •ìˆ˜ê°’ìœ¼ë¡œ í‘œí˜„í• ì§€? : 향후 êµ¬ì„±í• ê¸°íšíŒ€ì´ 편한 ë°©ì‹ëŒ€ë¡œ... - ì¼ë°˜ 타입 코드(General Type Code, GTC)ì˜ ë¶„ë¥˜ 기준 명세는 서버ì—ì„œ 사용하는 ë°ì´í„°, 서버 - í´ë¼ì´ì–¸íŠ¸ê°€ 둘 다 필요로 하는 ë°ì´í„°ì—만 ì 용한다. : í´ë¼ì´ì–¸í…Œì—서만 필요로 하는 ë°ì´í„° 스í¬ë¦½íŠ¸ëŠ” GTC 분류 기준 명세를 반드시 ì¶©ì¡±í• í•„ìš”ëŠ” 없다. , ìž‘ì—…ìžê°€ ì 당히 알아서 ë¶„ë¥˜í•´ë„ ëœë‹¤. ì´ìœ 는, 명세가 지나치게 엄밀하게 작성ë˜ì–´ 있어서, ë”ê°€ 새로운 ë°ì´í„° ì•„ì´í…œ í–‰(Row)ì„ ì¶”ê°€í•˜ê³ ìž í• ë•Œ, ê·¸ ë°ì´í„° ì•„ì´í…œì— ë¶€ì—¬í• ì ì ˆí•œ GTC를 조합하는 ê³¼ì •ì´ íž˜ë“¤ë‹¤ê³ í•¨. - 문ìžì—´ì„ 검색 키로 사용하는 부분 ì „ë¶€ ì •ìˆ˜í˜•ìœ¼ë¡œ 대체 : GTCì˜ ìŠ¤íŽ™ì„ ì§€í‚¤ì§€ëŠ” ì•Šë”ë¼ë„, ì •ìˆ˜í˜•ì€ ì‚¬ìš©í•´ì•¼ 한다. ê°™ì€ ìžë£Œêµ¬ì¡°ì˜ ì‚¬ì „ í…Œì´ë¸”(Dictionary)ì— ì“°ë”ë¼ë„, ì •ìˆ˜í˜• 키 ê²€ìƒ‰ì´ ë¬¸ìžì—´ 키 검색보다 훨씬 ë¹ ë¥´ë‹¤. ë˜í•œ, 사용 경험ìƒìœ¼ë¡œ, ë°ì´í„°ê°€ 아주 많아지면 문ìžì—´ë¡œ 키를 ì“´ë‹¤ê³ í•´ì„œ 코드 번호 부여하는 게 ë” ê°„íŽ¸í•´ì§€ì§€ë„ ì•ŠëŠ”ë‹¤. 심지어, 오타 찾기는 ë” íž˜ë“¤ë‹¤. - 열거형으로 ì •ì˜í• 수 있는 íƒ€ìž…ë“¤ì€ ê¸°ë³¸ ë¬´íš¨ê°’ì„ -1ë¡œ ì •í•œë‹¤. : 0ì€ ìœ íš¨í•œ ê°’ì´ë‹¤. ì´ëŠ” 서버와 í´ë¼ì´ì–¸íŠ¸ ëª¨ë‘ ê³µí†µìœ¼ë¡œ ì 용해야 한다. (ê°™ì€ íƒ€ìž…ì„ ê³µë™ìœ¼ë¡œ 사용해야 í• ìˆ˜ë„ ìžˆê¸° 때문ì´ë‹¤.) 0ì€ ë°°ì—´ ì¸ë±ìŠ¤ì˜ 첫 번째 ì›ì†Œë¡œ ì‚¬ìš©í• ìˆ˜ 있기 때문ì—, ì´ë ‡ê²Œ ì •í•œë‹¤. * ê·¸ 외 - ë ˆë“œë§ˆì¸ì—는(ë ˆë“œë§ˆì¸ ì•„ë‹ˆë”ë¼ë„ ìœ ëª…í•œ ì´ìŠˆ 관리 시스템ì—는) 프로ì 트 ì§„í–‰ì— ìœ ìš©í•œ ê¸°ëŠ¥ì´ ì•„ì£¼ 많으니 ì ê·¹ì 으로 í™œìš©í•˜ìž : ì´ìŠˆì˜ ì´ë ¥ 관리, SVN ë¡œê·¸ì™€ì˜ ì—°ë™, 위키 등 - SVNì— ì»¤ë°‹í• ë•Œ, 로그 메시지와 ì´ìŠˆ 번호는 가급ì ê¼ ë‚¨ê¸°ìž : ê¹œë¹¡í•˜ê³ ì»¤ë°‹í•œ ë’¤ì¼ì§€ë¼ë„, ë‚˜ì¤‘ì— ë¡œê·¸ë¥¼ ì‚½ìž…í• ìˆ˜ë„ ìžˆìŒ - ìƒì„¸í•œ êµ¬í˜„ì„ í•˜ê¸° ì´ì „ì— ì„¤ê³„ì™€ 코드 ì¸í„°íŽ˜ì´ìŠ¤ë¥¼ ìžì£¼ ê³µìœ í•˜ìž.