반응형
캡틴 오브 인더스트리(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);
}

 

자세한 내용은 위키 문서에 기록 중이다.

반응형

관련글