반응형
캡틴 오브 인더스트리(Captain of Industry)
모드에서 사용하는 인터페이스 (플러그인 연결시 호출)
[MultiDependency]
public interface IMod
{
//
// 요약:
// 사람이 읽을 수 있는 모드 이름입니다. 이 값은 게임 내에서 표시됩니다.
string Name { get; }
//
// 요약:
// 모드의 버전.
int Version { get; }
//
// 요약:
// 이 모드가 UI 전용이고 게임 상태에 영향을 미치지 않는지 여부입니다.
// UI가 아닌 모든 모드는 Unity에 의존하거나 사용해서는 안 되며
// UI 전용 모드는 게임 상태 변경에 영향을 주어서는 안 됩니다.
//
// 설명:
// 결정성 검증과 같은 헤드리스 게임에서는 UI 모드가 인스턴스화되지 않습니다.
bool IsUiOnly { get; }
//
// 요약:
// 모드가 구성을 추가, 제거 또는 변경할 수 있습니다.
// 프로토타입이 등록되기 전에 호출됩니다.
void ChangeConfigs(Lyst<IConfig> configs);
//
// 요약:
// 이 모드의 모든 프로토타입을 등록합니다.
void RegisterPrototypes(ProtoRegistrator registrator);
//
// 요약:
// 기본 동작을 재정의해야 하는 모든 종속성의 구성 요소 또는
// 사용자 지정 구현과 같은 모든 종속성을 등록합니다.
// 이 메서드가 호출되기 전에 모든 모드의 모든 프로토타입이 등록되고
// 프로토타입 데이터베이스가 잠깁니다.
void RegisterDependencies(DependencyResolverBuilder depBuilder, ProtosDb protosDb, bool gameWasLoaded);
//
// 요약:
// 게임 시작 전과 모든 모드가 등록되고 종속성 빌더가 생성된 후에 정확히 한 번 호출됩니다.
//
// 설명:
// 모드가 전체 게임이 로드되고 시작할 준비가 된 후 사전 처리,
// 초기화 및 확인을 수행할 수 있는 유일한 곳입니다.
// 모든 proto가 로드되지 않기 때문에 다른 단계에서는 수행할 수 없는 UI 로드에 이것을 사용합니다.
void Initialize(DependencyResolver resolver, bool gameWasLoaded);
}
자세한 내용은 위키 문서에 기록 중이다.
반응형