본문 바로가기
무협게임/김용군협전3D

[개발일지] 인카운터 추가 (2)

by 레이슈 2023. 11. 8.
반응형

게임 : 김용군협전3D (의천도룡기외전 리마스터)

목표 : 게임설정에 랜덤 인카운터 on/off 추가

 

대지도의 랜덤 인카운터를 위해 설정 > 일반 하단에 랜덤 인카운터 메뉴를 추가한다

 

다른 모드와 충돌을 방지하기 위해 활성화/비활성화 옵션을 주었다

 

추가 및 변경이 필요한 소스코드

1. GameConst.cs 

public const string PLAYER_PREF_RANDOM_ENCOUNTER_MODE = "random_encounter";

2. GameSettingManager.cs

// GameSettingManager.Catalog.RandomEncounterMode 추가
// GetSettings() 함수에 case Catalog.RandomEncounterMode 추가
// UpdateSettingRecord() 함수에 case Catalog.RandomEncounterMode 추가
// GetRandomEncounterMode() 함수 추가

private static int GetRandomEncounterMode()
{
    return Jyx2_PlayerPrefs.GetInt(GameConst.PLAYER_PREF_RANDOM_ENCOUNTER_MODE, 0);
}

3. GeneralSettingsPanel.cs

public Dropdown randomEncounterDropdown;

void Start()
{
	...
    InitRandomEncounterModeSetting();
    ...
    randomEncounterDropdown.onValueChanged.AddListener(SetRandomEncounterMode);
    ...
}

private void InitRandomEncounterModeSetting()
{
    var setting = gameSetting[GameSettingManager.Catalog.EncounterMode];
    if (setting is int value)
   {
       randomEncounterDropdown.value = value;
   }
}

private void SetRandomEncounterMode(int index)
{
    GameSettingManager.UpdateSetting(GameSettingManager.Catalog.RandomEncounterMode, index);
}

 

 

 

<Todo>

1. 해당 인카운터(!, ?)를 접하게 되면, 해당 이벤트 및 전투 발생

2. 이벤트는 다양하게 구성 필요

3. 전투에 따른 보상 마련

4. 게시판을 통한 임무 추가 구현

5. 임무 UI 구현

6. 임무 수락 시 주변에 인카운터(!) 발생