Class ModBlockBehaviour
Base class for all custom behaviours attached to modded blocks by the mod loader. This includes BlockScripts as well as the behaviour of custom modules.
Namespace: Modding
Assembly: Assembly-CSharp.dll
Syntax
public class ModBlockBehaviour : MonoBehaviour
Constructors
ModBlockBehaviour()
Declaration
public ModBlockBehaviour()
Properties
BlockBehaviour
The BlockBehaviour object for this block.
Declaration
public BlockBehaviour BlockBehaviour { get; }
Property Value
| Type | Description |
|---|---|
| BlockBehaviour |
BlockId
The current effective ID of this block.
Declaration
public int BlockId { get; }
Property Value
| Type | Description |
|---|---|
| Int32 |
CanFlip
Whether this block has specified that it can flip.
Declaration
public bool CanFlip { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DirectionArrow
Declaration
public Transform DirectionArrow { get; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.Transform |
EmulatesAnyKeys
Whether the block itself is capable of emulating keys.
NOT whether it is currently emulating any.
Make sure to override this to return true if you use the EmulateKeys method.
Declaration
public virtual bool EmulatesAnyKeys { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Flipped
Whether the block is currently flipped from its default.
Declaration
public bool Flipped { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
HasBurnedOut
Whether this block was on fire and is now burned out.
Declaration
public bool HasBurnedOut { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
HasRigidbody
Whether this block has a Rigidbody attached.
Declaration
public bool HasRigidbody { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsBurning
Whether this block is currently on fire.
Declaration
public bool IsBurning { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsDestroyed
Whether this block has been destroyed.
Declaration
public bool IsDestroyed { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsFrozen
Whether this block has been frozen.
Declaration
public bool IsFrozen { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsSimulating
Whether the block is currently part of the simulation.
Declaration
public bool IsSimulating { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsStripped
Whether this instance of the block is a stripped version.
Declaration
public bool IsStripped { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Machine
The machine this block is a part of.
Declaration
public PlayerMachine Machine { get; }
Property Value
| Type | Description |
|---|---|
| PlayerMachine |
MainVis
The object containing the main visuals for this block.
Declaration
public Transform MainVis { get; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.Transform |
Renderer
Main Renderer of this block.
Declaration
public Renderer Renderer { get; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.Renderer |
Rigidbody
Rigidbody attached to this block, if any.
Declaration
public Rigidbody Rigidbody { get; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.Rigidbody |
ShowDebugVisuals
Value of the Debug element of the block in the XML definition.
Declaration
public bool ShowDebugVisuals { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
SimPhysics
Whether this instance of the block script should handle simulation physics.
Declaration
public bool SimPhysics { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
VisualController
The BlockVisualController handling this block.
Declaration
public BlockVisualController VisualController { get; }
Property Value
| Type | Description |
|---|---|
| BlockVisualController |
Methods
AddColourSlider(MColourSlider)
Registers a colour slider. Needs to be called in the SafeAwake() method.
This will register this slider for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MColourSlider AddColourSlider(MColourSlider slider)
Parameters
| Type | Name | Description |
|---|---|---|
| MColourSlider | slider | Slider to register |
Returns
| Type | Description |
|---|---|
| MColourSlider | The slider registered |
AddColourSlider(String, String, Color, Boolean)
Registers a colour slider. Needs to be called in the SafeAwake() method.
This will register this slider for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MColourSlider AddColourSlider(string displayName, string key, Color defaultValue, bool snapColors)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| UnityEngine.Color | defaultValue | Default value |
| Boolean | snapColors | Whether to automatically snap to the closest predefined colour. |
Returns
| Type | Description |
|---|---|
| MColourSlider | The slider registered |
AddCustom<T>(MCustom<T>)
Registers a custom mapper type. Needs to be called in the SafeAwake() method.
This will register this mapper type for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MCustom<T> AddCustom<T>(MCustom<T> custom)
Parameters
| Type | Name | Description |
|---|---|---|
| MCustom<T> | custom | Mapper type to register |
Returns
| Type | Description |
|---|---|
| MCustom<T> | The mapper type registered |
Type Parameters
| Name | Description |
|---|---|
| T |
AddEmulatorKey(String, String, KeyCode)
Registers an emulation key. Needs to be called in the SafeAwake() method.
This will register this key for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MKey AddEmulatorKey(string displayName, string key, KeyCode defaultKey)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| UnityEngine.KeyCode | defaultKey | Default key code |
Returns
| Type | Description |
|---|---|
| MKey | The key registered |
AddKey(MKey)
Registers a key. Needs to be called in the SafeAwake() method.
This will register this key for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MKey AddKey(MKey key)
Parameters
| Type | Name | Description |
|---|---|---|
| MKey | key | Key to register |
Returns
| Type | Description |
|---|---|
| MKey | The key registered |
AddKey(String, String, KeyCode)
Registers a key. Needs to be called in the SafeAwake() method.
This will register this key for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MKey AddKey(string displayName, string key, KeyCode defaultKey)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| UnityEngine.KeyCode | defaultKey | Default key code |
Returns
| Type | Description |
|---|---|
| MKey | The key registered |
AddLimits(MLimits)
Registers a limit. Needs to be called in the SafeAwake() method.
This will register this limit for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MLimits AddLimits(MLimits limits)
Parameters
| Type | Name | Description |
|---|---|---|
| MLimits | limits | Limits to register |
Returns
| Type | Description |
|---|---|
| MLimits | The limits registered |
AddLimits(String, String, Single, Single, Single, FauxTransform)
Registers a limit. Needs to be called in the SafeAwake() method.
This will register this limit for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MLimits AddLimits(string displayName, string key, float defaultMin, float defaultMax, float highestAngle, FauxTransform iconInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Single | defaultMin | Default min angle |
| Single | defaultMax | Default max angle |
| Single | highestAngle | The highest angle allowed |
| FauxTransform | iconInfo | The orientation and position of the icon |
Returns
| Type | Description |
|---|---|
| MLimits | The limits registered |
AddLimits(String, String, Single, Single, Single, FauxTransform, ILimitsDisplay)
Registers a limit. Needs to be called in the SafeAwake() method.
This will register this limit for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MLimits AddLimits(string displayName, string key, float defaultMin, float defaultMax, float highestAngle, FauxTransform iconInfo, ILimitsDisplay limitsDisplay)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Single | defaultMin | Default min angle |
| Single | defaultMax | Default max angle |
| Single | highestAngle | The highest angle allowed |
| FauxTransform | iconInfo | The orientation and position of the icon |
| ILimitsDisplay | limitsDisplay | Custom ILimitsDisplay handler to use instead of the default one |
Returns
| Type | Description |
|---|---|
| MLimits | The limits registered |
AddMenu(MMenu)
Registers a menu. Needs to be called in the SafeAwake() method.
This will register this menu for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MMenu AddMenu(MMenu menu)
Parameters
| Type | Name | Description |
|---|---|---|
| MMenu | menu | Menu to register |
Returns
| Type | Description |
|---|---|
| MMenu | The menu registered |
AddMenu(String, Int32, List<String>, Boolean)
Registers a menu. Needs to be called in the SafeAwake() method.
This will register this menu for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MMenu AddMenu(string key, int defaultIndex, List<string> items, bool footerMenu = false)
Parameters
| Type | Name | Description |
|---|---|---|
| String | key | Key used for saving. Changing this breaks existing save files |
| Int32 | defaultIndex | Default selection |
| List<String> | items | Available options |
| Boolean | footerMenu | Whether to display this menu at the bottom |
Returns
| Type | Description |
|---|---|
| MMenu | The menu registered |
AddSlider(MSlider)
Registers a slider. Needs to be called in the SafeAwake() method.
This will register this slider for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MSlider AddSlider(MSlider slider)
Parameters
| Type | Name | Description |
|---|---|---|
| MSlider | slider | Slider to register |
Returns
| Type | Description |
|---|---|
| MSlider | The slider registered |
AddSlider(String, String, Single, Single, Single)
Registers a slider. Needs to be called in the SafeAwake() method.
This will register this slider for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MSlider AddSlider(string displayName, string key, float defaultValue, float min, float max)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Single | defaultValue | Default value |
| Single | min | Minimum value |
| Single | max | Maximum value |
Returns
| Type | Description |
|---|---|
| MSlider | The slider registered |
AddSliderUnclamped(String, String, Single, Single, Single)
Registers an unclamped slider. Needs to be called in the SafeAwake() method.
The slider's range will be determined by the min and max arguments but, unlike with AddSlider, it is possible to type in numbers outside that range.
This will register this slider for automatically saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MSlider AddSliderUnclamped(string displayName, string key, float defaultValue, float min, float max)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Single | defaultValue | Default value |
| Single | min | Minimum slider value |
| Single | max | Maximum slider value |
Returns
| Type | Description |
|---|---|
| MSlider | The slider registered |
AddTeam(MTeam)
Registers a team picker. Needs to be called in the SafeAwake() method.
This will register this team picker for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MTeam AddTeam(MTeam team)
Parameters
| Type | Name | Description |
|---|---|---|
| MTeam | team | Team picker to register |
Returns
| Type | Description |
|---|---|
| MTeam | The team picker registered |
AddTeam(String, String, MPTeam)
Registers a team picker. Needs to be called in the SafeAwake() method.
This will register this team picker for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MTeam AddTeam(string displayName, string key, MPTeam defaultTeam)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| MPTeam | defaultTeam | Default team |
Returns
| Type | Description |
|---|---|
| MTeam | The team picker registered |
AddText(MText)
Registers a text setting. Needs to be called in the SafeAwake() method.
This will register this text setting for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MText AddText(MText text)
Parameters
| Type | Name | Description |
|---|---|---|
| MText | text | Text setting to register |
Returns
| Type | Description |
|---|---|
| MText | The text setting registered |
AddText(String, String, String)
Registers a text setting. Needs to be called in the SafeAwake() method.
This will register this text setting for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MText AddText(string displayName, string key, string defaultText)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| String | defaultText | Default text |
Returns
| Type | Description |
|---|---|
| MText | The text setting registered |
AddToggle(MToggle)
Registers a toggle. Needs to be called in the SafeAwake() method.
This will register this toggle for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MToggle AddToggle(MToggle toggle)
Parameters
| Type | Name | Description |
|---|---|---|
| MToggle | toggle | Toggle to register |
Returns
| Type | Description |
|---|---|
| MToggle | The toggle registered |
AddToggle(String, String, Boolean)
Registers a toggle. Needs to be called in the SafeAwake() method.
This will register this toggle for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MToggle AddToggle(string displayName, string key, bool defaultValue)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Boolean | defaultValue | Default value |
Returns
| Type | Description |
|---|---|
| MToggle | The toggle registered |
AddToggle(String, String, String, Boolean)
Registers a toggle. Needs to be called in the SafeAwake() method.
This will register this toggle for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MToggle AddToggle(string displayName, string key, string tooltipText, bool defaultValue)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| String | tooltipText | Text to appear in tooltip when hovering over the toggle |
| Boolean | defaultValue | Default value |
Returns
| Type | Description |
|---|---|
| MToggle | The toggle registered |
AddValue(MValue)
Registers a float value holder. Needs to be called in the SafeAwake() method.
This will register this value holder for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MValue AddValue(MValue valueHolder)
Parameters
| Type | Name | Description |
|---|---|---|
| MValue | valueHolder | Value holder to register |
Returns
| Type | Description |
|---|---|
| MValue | The value holder registered |
AddValue(String, String, Single)
Registers a float value holder. Needs to be called in the SafeAwake() method.
This will register this value holder for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MValue AddValue(string displayName, string key, float defaultValue)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Single | defaultValue | Default value |
Returns
| Type | Description |
|---|---|
| MValue | The value holder registered |
AddValue(String, String, Single, Single, Single)
Registers a float value holder. Needs to be called in the SafeAwake() method.
This will register this value holder for automatic saving and loading in the LoadMapperValues and SaveMapperValues methods.
Declaration
public MValue AddValue(string displayName, string key, float defaultValue, float min, float max)
Parameters
| Type | Name | Description |
|---|---|---|
| String | displayName | Name displayed in block mapper |
| String | key | Key used for saving. Changing this breaks existing save files |
| Single | defaultValue | Default value |
| Single | min | Minimum value |
| Single | max | Maximum value |
Returns
| Type | Description |
|---|---|
| MValue | The value holder registered |
BuildingFixedUpdate()
Like BuildingUpdate but called every FixedUpdate.
Declaration
public virtual void BuildingFixedUpdate()
BuildingLateUpdate()
Like BuildingUpdate but called every LateUpdate.
Declaration
public virtual void BuildingLateUpdate()
BuildingUpdate()
Called every frame while in build mode.
MP: Called on the server and all clients, on each block that is part of a machine in build mode.
Declaration
public virtual void BuildingUpdate()
EmulateKeys(MKey[], MKey, Boolean)
Starts or stops key emulation of an MKey.
You need to override EmulatesAnyKeys to return true to use this.
To stop problematic behaviour with block activating themselves we reference the keys the block activates with itself to the emulation code so it doesn't emulate itself. Hereby avoiding infinite loops.
Additionally this shouldn't be called every frame, simply it should be called once when emulation starts and when it stops. Make sure emulation is stopped when the block is disabled.
Declaration
public void EmulateKeys(MKey[] activationKeys, MKey emulateKey, bool emulate)
Parameters
| Type | Name | Description |
|---|---|---|
| MKey[] | activationKeys | They MKeys this block potentially uses for activation |
| MKey | emulateKey | The MKey to emulate (i.e. what key to emulate) |
| Boolean | emulate | Set to true to start and false to stop |
KeyEmulationUpdate()
Handle emulated key input here. Called on a FixedUpdate, but not necessarily every fixed update.
Called on every instance. Not called if no blocks (or other code) emulating any keys are present.
See the Handling Key Emulation section in the block creation modding documentation for details.
Declaration
public virtual void KeyEmulationUpdate()
OnBlockPlaced()
Called when a block is placed, on that block's instance.
MP: Called on the server and all clients.
Declaration
public virtual void OnBlockPlaced()
OnLoad(XDataHolder)
Declaration
public virtual void OnLoad(XDataHolder data)
Parameters
| Type | Name | Description |
|---|---|---|
| XDataHolder | data |
OnPrefabCreation()
Called on the prefab once it's been created and fully initialized. This happens when the first level that is not a menu is loaded.
This is also called on the stripped block prefab, right after the call on the normal one.
Use this to modify the prefab if you can't achieve what you want using the options exposed via the XML file.
Declaration
public virtual void OnPrefabCreation()
OnReloadAmmo(ref Int32, AmmoType, Boolean, Boolean)
Override to make it possible to reload the block using the logic system.
The parameters correspond directly to the options for the reload event in the UI.
Declaration
public virtual void OnReloadAmmo(ref int units, AmmoType type, bool setAmmo, bool eachBlock)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | units | Number entered in the UI. Should be the number of shots where applicable. The amount of ammo "used up" by this block should be subtracted from this. |
| AmmoType | type | Ammunition type, set with the icon in the UI. |
| Boolean | setAmmo | True if the equal sign is selected, false if the addition sign is selected. |
| Boolean | eachBlock | True if "each weapon" is selected, false if "machine" is selected. |
OnSave(XDataHolder)
Declaration
public virtual void OnSave(XDataHolder data)
Parameters
| Type | Name | Description |
|---|---|---|
| XDataHolder | data |
OnSimulateCollisionEnter(Collision)
Simulation-only wrapper around OnCollisionEnter.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateCollisionEnter(Collision collision)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Collision | collision |
OnSimulateCollisionExit(Collision)
Simulation-only wrapper around OnCollisionExit.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateCollisionExit(Collision collision)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Collision | collision |
OnSimulateCollisionStay(Collision)
Simulation-only wrapper around OnCollisionStay.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateCollisionStay(Collision collision)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Collision | collision |
OnSimulateParticleCollision(GameObject)
Simulation-only wrapper around OnParticleCollision.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateParticleCollision(GameObject other)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.GameObject | other |
OnSimulateStart()
Called on the simulation clone of the block when the simulation was started.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateStart()
OnSimulateStop()
Called on the simulation clone of the block when the simulation is stopped.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateStop()
OnSimulateTriggerEnter(Collider)
Simulation-only wrapper around OnTriggerEnter.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateTriggerEnter(Collider collision)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Collider | collision |
OnSimulateTriggerExit(Collider)
Simulation-only wrapper around OnTriggerExit.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateTriggerExit(Collider collision)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Collider | collision |
OnSimulateTriggerStay(Collider)
Simulation-only wrapper around OnTriggerStay.
MP: Called on the server and all clients.
Declaration
public virtual void OnSimulateTriggerStay(Collider collision)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Collider | collision |
OnStartBurning()
Called when the block is set on fire.
MP: Called on the server and all clients.
Declaration
public virtual void OnStartBurning()
OnStopBurning(Boolean)
Called when the block stops burning.
MP: Called on the server and all clients.
Declaration
public virtual void OnStopBurning(bool doused)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | doused | true if the block stopped burning because it was extinguished, false it if stopped because it burned out. |
SafeAwake()
Called every time a new instance of the script is initialized, after some necessary initialization by the game was done.
Use this instead of the normal Unity Awake() method.
Declaration
public virtual void SafeAwake()
SendKeyEmulationUpdateHost()
Use this method to trigger key emulation, i.e. call EmulateKeys. Called on the same cycle as KeyEmulationUpdate, but called on all blocks before KeyEmulationUpdate and FixedUpdate are called on any blocks.
Called only on the host / the instance simulating physics.
Remember to set EmulatesAnyKeys if you want to emulate keys in a block.
See the Handling Key Emulation section in the block creation modding documentation for details.
Declaration
public virtual void SendKeyEmulationUpdateHost()
SimulateFixedUpdateAlways()
Like SimulateUpdateAlways but called every FixedUpdate.
Declaration
public virtual void SimulateFixedUpdateAlways()
SimulateFixedUpdateClient()
Like SimulateUpdateClient but called every FixedUpdate.
Declaration
public virtual void SimulateFixedUpdateClient()
SimulateFixedUpdateHost()
Like SimulateUpdateHost but called every FixedUpdate.
Declaration
public virtual void SimulateFixedUpdateHost()
SimulateLateUpdateAlways()
Like SimulateUpdateAlways but called every LateUpdate.
Declaration
public virtual void SimulateLateUpdateAlways()
SimulateLateUpdateClient()
Like SimulateUpdateClient but called every LateUpdate.
Declaration
public virtual void SimulateLateUpdateClient()
SimulateLateUpdateHost()
Like SimulateUpdateHost but called every LateUpdate.
Declaration
public virtual void SimulateLateUpdateHost()
SimulateUpdateAlways()
Called every frame while in simulation mode.
MP: Called on each instance connected (including the host).
Declaration
public virtual void SimulateUpdateAlways()
SimulateUpdateClient()
Called every frame while in simulation mode.
Not called in singleplayer.
MP: Called on every game instance receiving the simulation state from another instance, i.e. on the instances that should not simulate physics for this block. This means connected clients for each machine in global sim, as well as the server and clients for each machine in local sim on another instance.
Declaration
public virtual void SimulateUpdateClient()
SimulateUpdateHost()
Called every frame while in simulation mode.
MP: Called on the game instance that is handling physics for this block. This is the host for machines in global sim, or a client when simulating their own machine locally.
Declaration
public virtual void SimulateUpdateHost()