포스트

WitchMendokusai DevLog 03

WitchMendokusai DevLog 03

📀 _


일지를 꾸준히 적는게 참 어렵다.

📀 변경점 : 인게임

  • 던전 보상 UI
    • 기존 퀘스트 보상 UI를 추상화하여 재사용
  • 던전 스테이지
    • 기존 스테이지를 추상화하여 재사용
    • 단순 뱀서류에서 로그라이크 식 맵 모양으로 기획 변경
  • 던전 제약
    • 기존 난이도 삭제
    • 명일방주 제약, 리스크 오브 레인 유물 개념의 제약 추가
    • 토글 가능하도록
      • UISlot에 활성화/비활성화 기능 추가
  • Monster => Mob

  • 상점 기능 디벨롭
  • ArtifactDataSO로 이름 변경
  • DataBufferDataSO를 상속받음
  • UIDataBufferUI~Grid로 이름 변경
  • DataBuffer가 자신을 사용하는 UI~Grid를 추적하여 업데이트

  • 플레이어 인터렉션을 일반 클래스로 변경 (기존 MonoBehaviour 상속 제거)
  • 스킬
    • SkillHandler 추가
    • Skill에서 Skill, SkillData로 분리
    • 쿨타임이 TimeManager.Tick에 의해 관리되도록 변경 (기존엔 Update에서 돌아가서, 일시정지를 해도 쿨타임이 돌아감)
    • 임시 근접 공격
  • 새 BGM
    • BY PROTODOME
  • InputSystem, Addressable 패키지 추가
  • InputSystem을 이용한 UI 키보드 조작
    • UISlot, Select와 Click 이벤트 분리
  • UI 디벨롭

📀 변경점 : 인게임과 관련없는

💿 ScriptableObject 이름 검사 개선

커밋 : SO 파일 이름 검사 시, ID뿐만 아니라 이름도 확인하고 수정하도록 수정
커밋 : SO 파일 이름 수정 시, 파일명으로 쓸 수 없는 문자 제거

1
2
3
4
5
6
7
8
9
10
11
12
string goodName = $"{assetPrefixes[typeof(T)]}_{asset.ID}_{asset.Name}";
// if (asset.name.StartsWith($"{assetPrefixes[typeof(T)]}_{asset.ID}") == false)

// 파일 이름에 사용할 수 없는 문자를 제거
Regex regex = new(string.Format("[{0}]", Regex.Escape(new string(Path.GetInvalidFileNameChars()))));
goodName = regex.Replace(goodName, string.Empty);

if (asset.name.Equals(goodName) == false)
{
	Debug.Log($"에셋 이름을 변경합니다. {asset.name} -> {goodName}");
	AssetDatabase.RenameAsset(filePath, goodName);
}

ScriptableObject의 파일 이름 유효성 검사시,

기존에는 해당 ScriptableObject의 ID만 검사했는데,
이름을 포함하여 적절한 이름을 가지고 있는지 확인하고 수정하도록 개선

이때, 파일 이름에 사용할 수 없는 문자를 Regex를 이용하여 제거
예를 들어 2장 : 위상 같은 이름을 가진 퀘스트 ScriptableObject를 만들었는데,
문자 :가 파일 이름에 사용할 수 없는 문자라서 2장 위상으로 변경되도록 함

띄어쓰기가 좀 어색해서 지워야 하나 싶긴한데, 일단 보류.

참고 : C# 파일명 유효성 체크
참고 : 파일 명으로 사용할 수 없는 문자 (나무위키)

💿 원인모를 TextMeshPro 에러 로그

커밋 : 테스트를 위한 폴리싱 + TMP 오류 수정을 위한 패키지 버전업

MissingReferenceException: The variable m_AtlasTextures of TMP_FontAsset doesn't exist anymore. 에러 로그가 계속 뜨는데, 원인을 모르겠다.

사용하고 있는 TMP Font AssetReset하고 Clear Dynamic Data하는 방법이 있다고는 하는데 나에게는 적용되지 않았고,
나는 TextMeshPro 패키지를 3.0.8에서 3.2.0-pre.9 버전으로 업그레이드하는 것으로 해결했다.

참고 : MissingReferenceException: The variable m_AtlasTextures of TMP_FontAsset doesn’t exist anymore.

To Be Continued..

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.