Enfusion Script API
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Game Interface Reference

Public Member Functions

sealed BaseWorld GetWorld ()
 
sealed InputManager GetInputManager ()
 
sealed MenuManager GetMenuManager ()
 
sealed WorkspaceWidget GetWorkspace ()
 
proto external string GetWorldFile ()
 Returns path of world file loaded.
 
proto external GameWorldEditor GetWorldEditor ()
 Returns the world editor.
 
proto external void StartCinematic (string name)
 
proto external void StopCinematic ()
 
proto external bool IsPlayingCinematic ()
 
proto external UserSettings GetEngineUserSettings ()
 Returns UserSettings container for Engine User Settings.
 
proto external UserSettings GetGameUserSettings ()
 Returns UserSettings container for Game User Settings.
 
proto external void ApplySettingsPreset ()
 Apply setting preset according to DisplayUserSettings.OverallQuality.
 
proto external void UserSettingsChanged ()
 Notify engine about changes in Engine User Settings.
 
proto external void SaveUserSettings ()
 Save Engine User Settings to permanent storage.
 
proto external bool IsSaveStorageAvailable ()
 Determines the availability of save storage.
 
proto external BackendApi GetBackendApi ()
 Backend Api access class.
 
proto external BackendDebugApi GetBackendDebugApi ()
 
proto external RestApi GetRestApi ()
 RESTful Api request access class.
 
proto external bool BeginPreload (notnull BaseWorld world, vector pos, float radius, int maxTime_sec=60)
 Begin preloading on given position with given radius.
 
proto external bool IsPreloadFinished ()
 If preload (started with BeginPreload method) is finished, returns true.
 
proto external int GetLoadTime ()
 Returns load time in milliseconds for the lastly loaded world.
 
proto external void RequestClose ()
 Setting request flag for engine to exit the game.
 
proto external string GetBuildVersion ()
 Returns version of the game.
 
proto external string GetBuildTime ()
 Returns date and time when the game was built.
 
proto external GenericWorldEntity GetWorldEntity ()
 Returns path of world file loaded.
 
proto external IEntity FindEntity (string name)
 
proto external bool InPlayMode ()
 Checks if the game is in playmode (e.g.
 
proto external int ReloadFailureAddons (out notnull array< string > addons)
 
proto external ScriptModule GetScriptModule ()
 
proto external PlatformService GetPlatformService ()
 
proto external void RequestReload (array< string > addonGUIDs=null)
 Setting request flag for the engine to reinitialize the game Doesn't do anything in Workbench.
 
proto external IEntity SpawnEntity (TypeName typeName, BaseWorld world=null, EntitySpawnParams params=null)
 Safely instantiate the entity and calls EOnInit if the entity sets event mask EntityEvent.INIT.
 
proto external IEntity SpawnEntityPrefab (notnull Resource templateResource, BaseWorld world=null, EntitySpawnParams params=null)
 Safely instantiate the entity from template (with all components) and calls EOnInit if the entity sets event mask EntityEvent.INIT.
 
TypeName GetMenuPreset ()
 
LoadingAnim CreateLoadingAnim (WorkspaceWidget workspaceWidget)
 Creates handler for loading screen, its animation and resources.
 
void OnUpdate (BaseWorld world, float timeslice)
 Called on World update.
 
void OnAfterInit (BaseWorld world)
 Called after full initialization of Game instance.
 
bool OnGameStart ()
 Event which is called right before game starts (all entities are created and initialized).
 
void OnGameEnd ()
 Event which is called right before game end.
 
void OnEvent (EventType eventTypeId, Tuple params)
 Called when some system event occur.
 
void OnUserSettingsChangedEvent ()
 Event which is called when user change settings.
 
void OnInputDeviceUserChangedEvent (EInputDeviceType oldDevice, EInputDeviceType newDevice)
 Event which is called when input device binded to user changed.
 
void OnInputDeviceIsGamepadEvent (bool isGamepad)
 Event which is called when input device binded to user changes between gamepad and keyboard/mouse, ignoring Joystick and TrackIR.
 
void OnWorldPostProcess (World world)
 Event called once loading of all entities of the world have been finished.
 
void OnWorldSimulatePhysics (float timeSlice)
 Event which is called before each fixed step of the physics simulation.
 
void OnWorldPostSimulatePhysics (float timeSlice)
 
void OnWindowResize (int w, int h, bool windowed)
 Event which is called when window size of fullscreen state changed.
 
void HostGameConfig ()
 Called after reload to host a modded scenario.
 
void PlayGameConfig (ResourceName sResource, string addonsList)
 
ref array< ResourceNameGetDefaultGameConfigs ()
 
Managed ReadGameConfig (string sResource)
 
void OnGamepadConnectionStatus (bool isConnected)
 Event which is called on Gamepad Connection/Disconnection.
 

Static Public Member Functions

static proto bool IsDev ()
 Return true if executable is developer build.
 

Protected Attributes

BaseWorld m_World
 
InputManager m_InputManager
 
MenuManager m_MenuManager
 
WorkspaceWidget m_WorkspaceWidget
 

Member Function Documentation

◆ ApplySettingsPreset()

proto external void Game.ApplySettingsPreset ( )

Apply setting preset according to DisplayUserSettings.OverallQuality.

◆ BeginPreload()

proto external bool Game.BeginPreload ( notnull BaseWorld  world,
vector  pos,
float  radius,
int  maxTime_sec = 60 
)

Begin preloading on given position with given radius.

Call is non-blocking, to get status of preload use IsPreloadFinished method.

Parameters
world
posPosition of place which to preload
radiusRadius of area which to preload
maxTime_secMaximum duration of preload in seconds <0, 300>
Returns
Returns true when preload starts, returns false when there is nothing to preload

◆ CreateLoadingAnim()

LoadingAnim Game.CreateLoadingAnim ( WorkspaceWidget  workspaceWidget)

Creates handler for loading screen, its animation and resources.

Override this in your Game implementation to customize loading screen look and behavior. Default implementation does nothing.

Parameters
[in]workspaceWidgetThe workspace widget used by the loading screen. LoadingAnim implementation may only use this WorkspaceWidget to work with UI.
Returns
Class implementing loading screen animation. It's fine to return null (though you probably want at least something).

◆ FindEntity()

proto external IEntity Game.FindEntity ( string  name)

◆ GetBackendApi()

proto external BackendApi Game.GetBackendApi ( )

Backend Api access class.

◆ GetBackendDebugApi()

proto external BackendDebugApi Game.GetBackendDebugApi ( )

◆ GetBuildTime()

proto external string Game.GetBuildTime ( )

Returns date and time when the game was built.

◆ GetBuildVersion()

proto external string Game.GetBuildVersion ( )

Returns version of the game.

◆ GetDefaultGameConfigs()

ref array< ResourceName > Game.GetDefaultGameConfigs ( )

◆ GetEngineUserSettings()

proto external UserSettings Game.GetEngineUserSettings ( )

Returns UserSettings container for Engine User Settings.

◆ GetGameUserSettings()

proto external UserSettings Game.GetGameUserSettings ( )

Returns UserSettings container for Game User Settings.

◆ GetInputManager()

sealed InputManager Game.GetInputManager ( )

◆ GetLoadTime()

proto external int Game.GetLoadTime ( )

Returns load time in milliseconds for the lastly loaded world.

◆ GetMenuManager()

sealed MenuManager Game.GetMenuManager ( )

◆ GetMenuPreset()

TypeName Game.GetMenuPreset ( )

◆ GetPlatformService()

proto external PlatformService Game.GetPlatformService ( )

◆ GetRestApi()

proto external RestApi Game.GetRestApi ( )

RESTful Api request access class.

◆ GetScriptModule()

proto external ScriptModule Game.GetScriptModule ( )

◆ GetWorkspace()

sealed WorkspaceWidget Game.GetWorkspace ( )

◆ GetWorld()

sealed BaseWorld Game.GetWorld ( )

◆ GetWorldEditor()

proto external GameWorldEditor Game.GetWorldEditor ( )

Returns the world editor.

IMPORTANT* Only works when InPlayMode is false

◆ GetWorldEntity()

proto external GenericWorldEntity Game.GetWorldEntity ( )

Returns path of world file loaded.

◆ GetWorldFile()

proto external string Game.GetWorldFile ( )

Returns path of world file loaded.

◆ HostGameConfig()

void Game.HostGameConfig ( )

Called after reload to host a modded scenario.

◆ InPlayMode()

proto external bool Game.InPlayMode ( )

Checks if the game is in playmode (e.g.

not in WorldEditor while editing the world)

Returns
True if the game is in play mode. False otherwise.

◆ IsDev()

static proto bool Game.IsDev ( )
static

Return true if executable is developer build.

◆ IsPlayingCinematic()

proto external bool Game.IsPlayingCinematic ( )

◆ IsPreloadFinished()

proto external bool Game.IsPreloadFinished ( )

If preload (started with BeginPreload method) is finished, returns true.

◆ IsSaveStorageAvailable()

proto external bool Game.IsSaveStorageAvailable ( )

Determines the availability of save storage.

Game can try to call PlatformService::ObtainSaveDataAsync() which would reinitilize the storage access if possible.

Returns
If the game is capable of accessing save storage.

◆ OnAfterInit()

void Game.OnAfterInit ( BaseWorld  world)

Called after full initialization of Game instance.

◆ OnEvent()

void Game.OnEvent ( EventType  eventTypeId,
Tuple  params 
)

Called when some system event occur.

(NOTE: currently not called because of problems with recursion)

Parameters
eventTypeIdevent type.
paramsTuple object, cast to specific Tuple class to get parameters for particular event.

◆ OnGameEnd()

void Game.OnGameEnd ( )

Event which is called right before game end.

◆ OnGamepadConnectionStatus()

void Game.OnGamepadConnectionStatus ( bool  isConnected)

Event which is called on Gamepad Connection/Disconnection.

Parameters
isConnectedis false on disconnection, true on re-connection.

◆ OnGameStart()

bool Game.OnGameStart ( )

Event which is called right before game starts (all entities are created and initialized).

Returns true if the game can start.

◆ OnInputDeviceIsGamepadEvent()

void Game.OnInputDeviceIsGamepadEvent ( bool  isGamepad)

Event which is called when input device binded to user changes between gamepad and keyboard/mouse, ignoring Joystick and TrackIR.

◆ OnInputDeviceUserChangedEvent()

void Game.OnInputDeviceUserChangedEvent ( EInputDeviceType  oldDevice,
EInputDeviceType  newDevice 
)

Event which is called when input device binded to user changed.

◆ OnUpdate()

void Game.OnUpdate ( BaseWorld  world,
float  timeslice 
)

Called on World update.

Parameters
worldcurrent world
timeslicetime elapsed from last call

◆ OnUserSettingsChangedEvent()

void Game.OnUserSettingsChangedEvent ( )

Event which is called when user change settings.

◆ OnWindowResize()

void Game.OnWindowResize ( int  w,
int  h,
bool  windowed 
)

Event which is called when window size of fullscreen state changed.

Parameters
wnew width of window in screen pixels
hnew height of window in screen pixels
windowedtrue when is windowed, false then fullscreen

◆ OnWorldPostProcess()

void Game.OnWorldPostProcess ( World  world)

Event called once loading of all entities of the world have been finished.

(still within the loading)

◆ OnWorldPostSimulatePhysics()

void Game.OnWorldPostSimulatePhysics ( float  timeSlice)

◆ OnWorldSimulatePhysics()

void Game.OnWorldSimulatePhysics ( float  timeSlice)

Event which is called before each fixed step of the physics simulation.

Parameters
timeSlicesimulation step length

◆ PlayGameConfig()

void Game.PlayGameConfig ( ResourceName  sResource,
string  addonsList 
)

◆ ReadGameConfig()

Managed Game.ReadGameConfig ( string  sResource)

◆ ReloadFailureAddons()

proto external int Game.ReloadFailureAddons ( out notnull array< string addons)

◆ RequestClose()

proto external void Game.RequestClose ( )

Setting request flag for engine to exit the game.

◆ RequestReload()

proto external void Game.RequestReload ( array< string addonGUIDs = null)

Setting request flag for the engine to reinitialize the game Doesn't do anything in Workbench.

◆ SaveUserSettings()

proto external void Game.SaveUserSettings ( )

Save Engine User Settings to permanent storage.

◆ SpawnEntity()

proto external IEntity Game.SpawnEntity ( TypeName  typeName,
BaseWorld  world = null,
EntitySpawnParams  params = null 
)

Safely instantiate the entity and calls EOnInit if the entity sets event mask EntityEvent.INIT.

Parameters
typeNameName of entity's type to instantiate.
Returns
instantiated entity

◆ SpawnEntityPrefab()

proto external IEntity Game.SpawnEntityPrefab ( notnull Resource  templateResource,
BaseWorld  world = null,
EntitySpawnParams  params = null 
)

Safely instantiate the entity from template (with all components) and calls EOnInit if the entity sets event mask EntityEvent.INIT.

Parameters
templateResourceTemplate resource of the entity to instantiate.
Returns
instantiated entity

◆ StartCinematic()

proto external void Game.StartCinematic ( string  name)

◆ StopCinematic()

proto external void Game.StopCinematic ( )

◆ UserSettingsChanged()

proto external void Game.UserSettingsChanged ( )

Notify engine about changes in Engine User Settings.

Member Data Documentation

◆ m_InputManager

InputManager Game.m_InputManager
protected

◆ m_MenuManager

MenuManager Game.m_MenuManager
protected

◆ m_WorkspaceWidget

WorkspaceWidget Game.m_WorkspaceWidget
protected

◆ m_World

BaseWorld Game.m_World
protected

The documentation for this interface was generated from the following file: