Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
Global Functions

Functions

INFINITY_API_PUBLIC void InfinityInit (void)
 Initializes the Infinity Engine.
 

Detailed Description

Function Documentation

◆ InfinityInit()

INFINITY_API_PUBLIC void InfinityInit ( void  )

Initializes the Infinity Engine.

InfinityInit() must be called before using any other Infinity Engine functionality. It performs one-time initialization of core engine systems required for proper operation.

Initialization tasks performed:

  • Registers all built-in types in the TypeRegistry
  • Registers all built-in type converters for automatic type conversions
  • Initializes internal engine subsystems
  • Sets up runtime bridges (if available)

Call this function during application or library initialization, before creating any Infinity Engine objects or calling any engine functions.

Note
NOT THREAD-SAFE: Must be called from a single thread during initialization.
IDEMPOTENT: Calling multiple times is safe - initialization only happens once.
REQUIRED: Must be called before using any engine functionality.

Example usage:

int main() {
// Initialize engine first
// Now safe to use engine functionality
Infinity::Engine::InfinityCore core("project.infinitycore");
auto system = core.getSystem("TerrainGenerator");
system->execute();
return 0;
}
// In a library initialization
void MyLibraryInit() {
InfinityInit(); // Safe to call even if already initialized
// ... rest of library setup ...
}
Interface for loading and accessing procedural generation systems from .infinitycore files.
Definition InfinityCore.hpp:25
INFINITY_API_PUBLIC void InfinityInit(void)
Initializes the Infinity Engine.