프로젝트/건즈앤 레이첼스
[유니티 프로젝트] 2023.05.14 개발 현황
Bueong_E
2023. 5. 14. 23:43
반응형
SMALL
- 인벤토리 UI 수정
- 캐릭터의 스탯 변경에 따른 텍스트 색상 변경
- 무기의 특성 변경에 따른 텍스트 색상 변경
- 무기 고유 스킬 설명 팝업의 글씨 크기 증가 및 가독성 개선
- 인벤토리 장비 세부 팝업 글씨 크기 증가 및 버튼 크기 증가
- 보스방 입장시 안내 UI 추가 및 보스방 클리어시 포탈 생성 안내문 추가 & 클리어시 포탈 생성 안내문구 추가
그외 보스 객체 스크립트들에 인터페이스 상속을통한 코드 정리
using UnityEngine;
public interface IDungeonBossHandler
{
void Intializing();
void InitStartBossFight(Transform playerTrans);
}
던전 제너레이터에선 Initializing메서드를, 플레이어 보스방 입장시에는 InitStartBossFight메서드 구현을 강제 했으며 해당 인터페이스를 통해 던전 메인과 던전 제너레이터는 각각의 보스 스크립트의 종류와 관계없이 해당 메서드들을 실행,
덕분에 보스 종류별로 분기가 나누어 졌던 이전과 달리 굉장히 깔끔해진 보스방관련 메인과 제너레이터 코드를 확인할수 있다.
- 던전씬 메인 - 분기가 4종류 (*2) 나 되던 이전에 비해 굉장히 깔금하다.
else if (roomName.Contains("LHK"))
{
var stageNum = InfoManager.instance.dungeonInfo.CurrentStageInfo;
var bossComp = this.generator.wholeRoomList[objIndex].GetComponentInChildren<IDungeonBossHandler>();
if (!this.isBossClear)
{
this.isBossClear = true;
bossComp.InitStartBossFight(this.player.transform);
EventDispatcher.Instance.Dispatch<UIAnnounceDirector.eAnnounceType>(EventDispatcher.EventName.UIAnnounceDirectorStartAnnounce,
UIAnnounceDirector.eAnnounceType.BOSS);
}
else
{
EventDispatcher.Instance.Dispatch(EventDispatcher.EventName.UIPortalArrowControllerInitializingArrows,
this.generator.wholeRoomList[objIndex].transform);
}
}
- 맵 제너레이터 또한 분기가 4종류나 되던 이전에 비해 너무나도 깔끔해진 코드를 볼수 있다
//보스룸 생성
var bossRoomIndex = InfoManager.instance.dungeonInfo.CurrentStageInfo - 1;
var bossRoomGo = GameObject.Instantiate(this.BossRoomArr[bossRoomIndex]);
bossRoomGo.transform.position = new Vector3(this.BossRoomPos.x, this.BossRoomPos.y, 1);
this.wholeRoomList.Add(bossRoomGo);
var bossComp = bossRoomGo.GetComponentInChildren<IDungeonBossHandler>();
bossComp.Intializing();
이제 더 구현해야하는 사항들은 자잘한 구현 연출 UX 관련 부분들이며 예로 플레이어가 아이템을 먹지 못할시 ( 인벤토리 꽉참 등) 안내 UI등의 구현이 남았다.
반응형
LIST