씬 이름 : ch1Scene

대화, 퀘스트, npc 상호작용, 화면 전환, 음악 재생 등이 포함됨

주요 스크립트

Ch1ProDialogue : csv로 읽어온 데이터를 저장하는 리스트

Ch1TalkManger : 싱글턴 패턴으로 설계/ 인덱스에 따라 대화를 관리중인데 csv 파일 인덱스가 수정되었기 때문에 인덱스 숫자를 수정해야 합니다!

currentDialogueIndex : 현재 진행중인 대사 인덱스

Awake : 스크립트 초기화, 데이터를 csv에서 로드함

Start : 초기 상태 설정

Update : 입력 이벤트 처리, 카페로 이동할 때 인덱스에 따라 처리하며 맵, 캐릭터 등을 비활성화 함. 씬 전환 중에는 입력 무시, 인덱스에 따라 엔딩으로 이동(이 부분은 임의로 badEnding에 도달하게 한 것이므로 삭제해야 합니다.)

HandleDialogueProgression : 카페 메뉴 처리. 카페 제작으로 씬 이동했다가 돌아오게 처리. 노가다로 중복 코드들을 적어뒀기 때문에 함수화해서 가독성 높여야 될 것 같습니다!

SceneTransitionManger에서 가져와서 처리. 룸서비스의 경우 SceneTransitionManager.Instance.HandleDialogueTransition("현재 씬", "이동하려는 씬", 현재 인덱스, 룸서비스 주문 건 수) 특정 메뉴 직접 주문할 시 : List<CafeOrder> orders = new List<CafeOrder>(); orders.Add(new CafeOrder("특정 메뉴 이름")); SceneTransitionManager.Instance.HandleDialogueTransition("현재 씬", "이동하려는 씬", 현재 인덱스, orders); 랜덤 주문의 경우 : SceneTransitionManager.Instance.HandleRandomMenuTransition("ch1Scene", "CafeScene", 현재 인덱스, 랜덤 주문 개수)

LoadDialogueFromCSV : CSV 데이터 읽어오는 코드

PrintCh1ProDialogue : ch1 전반적인 대화 진행. 중복 코드 함수화 필요. 대사 화자에 맞게 초상화 이미지 변경. ui를 활성화/비활성화 처리하고, 특정 인덱스에 플레이어의 위치 전환 및 npc와 상호작용

ActivateTalk : 장소와 인덱스에 따라 대사 진행.

DeactivateTalk : 대화 종료 관련. 오브젝트들 비활성화 담당

CheckTalk : 대화 장소에 따라 화면과 음악 관리

PlayMusic : 대화 장소에 따라 음악 재생

Ch1InteractionButton, Ch1TriggerArea : NPC 근처에 가면 대화하기 버튼 조작하는 코드

Ch1NpcScript : 인덱스에 따라 해당 이름을 가진 npc 근처로 갔을 때 대화하기 버튼을 활성화하고 그 버튼을 클릭했을 때 대사를 출력하게 하는 코드. 현재는 인덱스에 따라 npc와 소통하는게 아니라, 카페 일이 끝났을 때 모든 npc와 대화가 가능하도록 해야 하므로 npc 부분은 로직을 새로 짜야 할 것 같습니다. Ch1TalkManger의 OnDialogueButtonClick 함수에서도 npc와의 대화를 처리하고 있습니다. 밤 부분을 없애며 npc 스크립트를 사용하지 않아서 Ch1TalkManager에서 처리하게 짜둔 부분으로, npc 스크립트를 새로 생성해서 사용한다면 이 부분이 중복되므로 삭제해야 합니다!

Hierarchy

Manager

ScreenFader : 화면 페이드인/아웃 효과 처리. 씬 전환 시 화면 처리

TalkManager : 대화 진행과 퀘스트, npc 등 총괄적으로 관리. csv에서 인덱스에 따라 처리하게 로직 구성

DoorManager : player가 맵에서 돌아다닐 때 문을 통과하게 함

SoundManager : 전체적인 사운드 관리

SceneManager : 씬 전환 관리(카페로 왔다갔다 할 때)

장소

TrainRoom(주인공 객실), Cafe, Balcony, TrainRoomHallway, Garden, Bakery, MedicalRoom, JazzBar

Map : ch0과 동일

DestPoint : 카페 일 시작하기 위해 player가 도착해야 하는 포인트

NPC : 총 4명(박쥐, 햄스터, 다람쥐, 사슴) Ch1NpcScript가 들어있음

Player

UI

Dialogue : 대화창 ui, 인물 초상화 이미지 포함

Narration : 나레이션 바 ui

Letter : 퀘스트 전에 편지지 ui

Quest : 퀘스트 ui

Cheeta : 치타 상점

BedNarration : 침대로 갔을 때 다음날로 넘어가겠냐고 띄우는 ui

StaticUICanvas : 주연님이 관리하시는 부분입니다