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