Show / Hide Table of Contents

Class Level

Represents a custom-made level.

Note: Due to intenal restrictions, the Level class can only represent the level that is currently loaded.

Inheritance
Object
Level
Namespace: Modding.Levels
Assembly: Assembly-CSharp.dll
Syntax
public class Level

Properties

CustomData

Custom data associated with this level.

Declaration
public XDataHolder CustomData { get; }
Property Value
Type Description
XDataHolder
Remarks

The keys for the data here are not automatically seperated by mod, a unique prefix for each mod is advisable here.

Keep in mind that one can't rely on any data begin present here, as machines may have been saved without the mod installed and should still load.

Entities

All entities placed in the level.

Declaration
public ReadOnlyCollection<Entity> Entities { get; }
Property Value
Type Description
ReadOnlyCollection<Entity>

GlobalVariables

The variables with global scope.

Note that you cannot change variables using this, use the SetVariable method for that.

Declaration
public Dictionary<string, float> GlobalVariables { get; }
Property Value
Type Description
Dictionary<String, Single>

InternalLevel

Part of the internal representation of this object.

WARNING: This is not part of the stable API and subject to change!

Declaration
public CustomLevel InternalLevel { get; }
Property Value
Type Description
CustomLevel

InternalObject

The internal representation of this object.

WARNING: This is not part of the stable API and subject to change!

Declaration
public LevelEditor InternalObject { get; }
Property Value
Type Description
LevelEditor

Selection

The entities of this level that are currently selected by the local player.

Declaration
public ReadOnlyCollection<Entity> Selection { get; }
Property Value
Type Description
ReadOnlyCollection<Entity>

Setup

The settings of the level.

Declaration
public LevelSetup Setup { get; }
Property Value
Type Description
LevelSetup

Methods

AddEntity(Guid, Int32, Vector3, Quaternion, Vector3, Boolean)

Declaration
public void AddEntity(Guid modId, int localId, Vector3 position, Quaternion rotation, Vector3 scale, bool showEffect = true)
Parameters
Type Name Description
Guid modId
Int32 localId
UnityEngine.Vector3 position
UnityEngine.Quaternion rotation
UnityEngine.Vector3 scale
Boolean showEffect

AddEntity(Int32, Vector3, Quaternion, Vector3, Boolean)

Adds an entity to the level.

Declaration
public void AddEntity(int id, Vector3 position, Quaternion rotation, Vector3 scale, bool showEffect = true)
Parameters
Type Name Description
Int32 id

Id of the entity type, as given by EntityPrefab.Id or in the ObjectTypes enums.

UnityEngine.Vector3 position

Position of the entity.

UnityEngine.Quaternion rotation

Rotation of the entity.

UnityEngine.Vector3 scale

Scale of the entity.

Boolean showEffect

Whether to show the placement visual effect.

Remarks

Unlike PlayerMachine.AddBlock this doesn't return the added entity, but it is possible to call it on any connected instance.

Note that the Id of a modded entity can change at any point, use the overload with seperate modId and localId for reliable placement of modded entities.

You can use entries of the enums in ObjectTypes as IDs.

GetCurrentLevel()

Get the level currently open in the level editor. Null if there is no open level.

Declaration
public static Level GetCurrentLevel()
Returns
Type Description
Level

GetEntitiesOfType(Guid, Int32)

Gets all entities of the specified modded type in the level.

Declaration
public ReadOnlyCollection<Entity> GetEntitiesOfType(Guid modId, int localId)
Parameters
Type Name Description
Guid modId

Guid of the mod that adds the entity.

Int32 localId

Local ID of the entity within the mod.

Returns
Type Description
ReadOnlyCollection<Entity>

Collection of entities.

GetEntitiesOfType(Int32)

Gets all entities of the specified type in the level.

Declaration
public ReadOnlyCollection<Entity> GetEntitiesOfType(int id)
Parameters
Type Name Description
Int32 id

Id of the entity type/perfab.

Returns
Type Description
ReadOnlyCollection<Entity>

Collection of entities.

RemoveEntity(Entity)

Removes an entity from the level.

Declaration
public void RemoveEntity(Entity entity)
Parameters
Type Name Description
Entity entity

The entity to remove.

SetVariable(String, Single)

Set a global variable.

Declaration
public void SetVariable(string var, float val)
Parameters
Type Name Description
String var
Single val

ToString()

Declaration
public override string ToString()
Returns
Type Description
String
Overrides
Object.ToString()
Back to top Generated by DocFX