59 virtual Display GetMainDisplay();
60 virtual uint8_t CountDisplays();
61 virtual void EnumerateDisplays(
Display* displays);
62 virtual void RegisterSystem(
const char* name, ECS::SystemFactory factory);
63 virtual void RegisterEditorSystem(
const char* name, ECS::SystemFactory factory);
64 virtual void UnregisterSystem(
const char* name);
65 virtual void UnregisterEditorSystem(
const char* name);
68 virtual void RegisterAssetType(AssetType assetType,
const char* typeName,
AssetImporter* assetImporter);
69 virtual void UnregisterAssetType(AssetType assetType);
70 virtual void SetReloadCsharpCallback(std::function<
void()> callback);
71 virtual Grindstone::HashedString::HashMap* GetHashedStringMap()
const;
78 template<
typename ClassType>
80 RegisterWorldContextFactory(contextName, Grindstone::WorldContext::Create<ClassType>);
83 template<
typename ClassType>
84 void RegisterComponent(Grindstone::ECS::SetupComponentFn setupComponentFn =
nullptr, Grindstone::ECS::DestroyComponentFn destroyComponentFn =
nullptr) {
85 componentRegistrar->RegisterComponent<ClassType>(setupComponentFn, destroyComponentFn);
89 void UnregisterComponent() {
90 componentRegistrar->UnregisterComponent<T>();
99 uint8_t (*countDisplaysFn)() =
nullptr;