문서
실행 인수는 화면, 레벨, 플레이를 바로 열고, 스위치는 게임 실행 한 번의 동작을 바꿉니다. 인수는 실행 파일 뒤에 씁니다: 바로 가기, 터미널, Steam의 실행 옵션에서
SDK - Bullet Hero 레벨 형식을 오픈 C# 라이브러리로 만든 것입니다. 게임은 이 라이브러리로 레벨을 읽고 쓰며, 직접 만든 프로그램도 같은 일을 할 수 있습니다
SDK 배포 형태는 nuget.org의 BulletHero.SDK 패키지, 또는 소스에서 빌드한 결과물입니다. Unity에서는 git 서브모듈로 연결하며, ConsoleSmoke 샘플로 레벨이 읽히는지 확인합니다
레벨은 폴더입니다: 내용은 level.json 또는 level.blob, 메타데이터는 metadata.json 또는 metadata.blob, 그리고 커버와 미디어 파일. 백업, 기록, 플레이어 설정은 기기에 남습니다
.blob 파일에는 .json 파일과 같은 데이터가 바이너리 형태로 들어 있습니다: 24바이트 헤더 뒤에 데이터가 옵니다. 캐시가 아니라 동등한 레벨 형식입니다
레벨은 폴더, tar.gz, zip 중 하나로 내보내며, 원하면 비밀번호를 걸 수 있습니다: AES-256 zip 또는 OpenPGP. SDK에서는 받은 파일의 형식을 이름이 아니라 첫 바이트로 판별합니다
버전은 세 가지입니다: 게임의 gv, SDK의 sv, 모델 형식 세대의 mg. SDK에서는 mg 값을 기준으로 오래된 파일을 마이그레이션하고, 빌드보다 새로운 세대의 파일은 읽기를 거부합니다
검증은 ValidationFacade 클래스로 직접 호출하며, 저장과 불러오기에 내장되어 있지 않습니다. 문제는 Error, Warning, Advice 세 그룹으로 나뉘고, ValidateAndFix 메서드는 고칠 수 있는 것을 고칩니다
서비스는 어떤 레벨을 받는지 PublishProfile 파일로 기술합니다: 라이선스, 리소스 출처, 필수 필드, 크기 한도. 서비스를 추가하려면 분석기를 고치는 대신 파일을 하나 작성하면 됩니다
생성기는 SDK 기본 클래스(BaseLevelGenerator, BaseContentGenerator, BaseModifier) 중 하나를 상속한 클래스 하나입니다. 폼, 예상치, 실행 취소는 호스트가 계약을 보고 스스로 만듭니다
SDK 문제는 bullet-hero/sdk 저장소의 이슈로 보고하고, 코드 변경은 같은 저장소에 풀 리퀘스트로 보냅니다. 기여자 규칙도 같은 저장소의 코드 옆에 있습니다