Show / Hide Table of Contents

Class Game

Provides access to some in-game state and easy methods and properties for changing it.

Inheritance
Object
Game
Namespace: Modding
Assembly: Assembly-CSharp.dll
Syntax
public static class Game

Fields

BlockEntityLayerMask

Declaration
public static LayerMask BlockEntityLayerMask
Field Value
Type Description
UnityEngine.LayerMask

Properties

IsSetToLocalSim

Whether the game is set to local sim instead of global sim. Does NOT indicate whether actually in simulation or not.

Declaration
public static bool IsSetToLocalSim { get; set; }
Property Value
Type Description
Boolean

IsSimulating

Whether the local instance is currently in any simulation. Settings this is equivalent to calling {Start,End}Simulation{Local,Global}, according to IsSetToLocalSim.

Declaration
public static bool IsSimulating { get; set; }
Property Value
Type Description
Boolean

IsSimulatingGlobal

Whether the local instance is participating in global simulation. Setting this is equivalent to calling {Start,End}SimulationGlobal.

Also indicates simulation in singleplayer.

Declaration
public static bool IsSimulatingGlobal { get; set; }
Property Value
Type Description
Boolean

IsSimulatingLocal

Whether the local instance is currently in local simulation. Setting this is equivalent to calling {Start,End}SimulationLocal.

Never true in singleplayer; singleplayer simulation is treated as global simulation.

Declaration
public static bool IsSimulatingLocal { get; set; }
Property Value
Type Description
Boolean

IsSpectator

Whether the local instance is in spectator mode.

Declaration
public static bool IsSpectator { get; }
Property Value
Type Description
Boolean

Methods

BlockEntityMouseRaycast(out RaycastHit, Single)

Performs a raycast from the mouse position with a predefined layer mask to detect only blocks and entities.

Note that, in multiplayer, the blocks of machines of other players do not have colliders attached (except on the host). This means they cannot be detected with raycasts.

The parameters correspond to those of Physics.Raycast.

Declaration
public static bool BlockEntityMouseRaycast(out RaycastHit hit, float distance)
Parameters
Type Name Description
UnityEngine.RaycastHit hit
Single distance
Returns
Type Description
Boolean

BlockEntityRaycast(Ray, out RaycastHit, Single)

Performs a raycast with a predefined layer mask to detect only blocks and entities.

Note that, in multiplayer, the blocks of machines of other players do not have colliders attached (except on the host). This means they cannot be detected with raycasts.

The parameters correspond to those of Physics.Raycast.

Declaration
public static bool BlockEntityRaycast(Ray ray, out RaycastHit hit, float distance)
Parameters
Type Name Description
UnityEngine.Ray ray
UnityEngine.RaycastHit hit
Single distance
Returns
Type Description
Boolean

EndSimulationGlobal()

Ends/Leaves the global simulation. No-op if not currently in any simulation.

Declaration
public static void EndSimulationGlobal()
Exceptions
Type Condition
InvalidOperationException

If currently in local sim.

EndSimulationLocal()

Ends the local simulation. No-op if not currently in any simulation.

Declaration
public static void EndSimulationLocal()
Exceptions
Type Condition
InvalidOperationException

If currently in global sim.

GetCurrentProgress()

Gets the current victory progress (in percent) of all teams.

Returns zero for all teams when not in MP game.

Declaration
public static Dictionary<MPTeam, float> GetCurrentProgress()
Returns
Type Description
Dictionary<MPTeam, Single>

GetCurrentProgress(MPTeam)

Gets the current victory progress (in percent) of the specified team.

Returns zero for all teams when not in MP game.

Declaration
public static float GetCurrentProgress(MPTeam team)
Parameters
Type Name Description
MPTeam team
Returns
Type Description
Single

GetPlaylist()

Gets a list of all levels in the current playlist.

Empty list if no playlist is set up, not in MP, or not the host.

Declaration
public static List<string> GetPlaylist()
Returns
Type Description
List<String>

A list of filesystem paths to the playlist levels.

NextPlaylistLevel()

Loads the next playlist level.

No-op if there is no playlist set up, not in MP, or not the host.

First exits simulation if currently simulating.

Declaration
public static void NextPlaylistLevel()

PreviousPlaylistLevel()

Loads the previous playlist level.

No-op if no playlist is set up, not in MP, or not the host.

First exits simulation if currently simulating.

Declaration
public static void PreviousPlaylistLevel()
Exceptions
Type Condition
Exception

If currently in simulation.

StartSimulationGlobal()

Starts/Joins the global simulation. No-op if already in global simulation. If the game is currently set to local sim, will change this setting first.

Declaration
public static void StartSimulationGlobal()
Exceptions
Type Condition
InvalidOperationException

If currently in local sim.

InvalidOperationException

If currently in spectator mode.

StartSimulationLocal()

Starts local simulation. No-op if already in local sim. If the game is currently set to global sim, will change this settings first.

Declaration
public static void StartSimulationLocal()
Exceptions
Type Condition
InvalidOperationException

If currently in global sim.

InvalidOperationException

If currently in spectator mode.

ToggleLocalSimState()

Toggles whether the game is set to local or global simulation.

Declaration
public static void ToggleLocalSimState()
Exceptions
Type Condition
InvalidOperationException

If currently in any simulation.

Back to top Generated by DocFX