Show / Hide Table of Contents

Class MyCubeGridGroups

Inheritance
System.Object
MyCubeGridGroups
Implements
IMySceneComponent
Namespace: Sandbox.Game.Entities
Assembly: Sandbox.Game.dll
Syntax
public class MyCubeGridGroups : Object, IMySceneComponent

Constructors

MyCubeGridGroups()

Declaration
public MyCubeGridGroups()

Fields

Electrical

Declaration
public MyGroups<MyCubeGrid, MyGridElectricalGroupData> Electrical
Field Value
Type Description
VRage.Groups.MyGroups<MyCubeGrid, Sandbox.Game.Entities.Cube.MyGridElectricalGroupData>

Logical

Declaration
public MyGroups<MyCubeGrid, MyGridLogicalGroupData> Logical
Field Value
Type Description
VRage.Groups.MyGroups<MyCubeGrid, MyGridLogicalGroupData>

Mechanical

Declaration
public MyGroups<MyCubeGrid, MyGridMechanicalGroupData> Mechanical
Field Value
Type Description
VRage.Groups.MyGroups<MyCubeGrid, MyGridMechanicalGroupData>

NoContactDamage

Declaration
public MyGroups<MyCubeGrid, MyGridNoDamageGroupData> NoContactDamage
Field Value
Type Description
VRage.Groups.MyGroups<MyCubeGrid, Sandbox.Game.Entities.Cube.MyGridNoDamageGroupData>

Physical

Declaration
public MyGroups<MyCubeGrid, MyGridPhysicalGroupData> Physical
Field Value
Type Description
VRage.Groups.MyGroups<MyCubeGrid, MyGridPhysicalGroupData>

PhysicalDynamic

Declaration
public MyGroups<MyCubeGrid, MyGridPhysicalDynamicGroupData> PhysicalDynamic
Field Value
Type Description
VRage.Groups.MyGroups<MyCubeGrid, MyGridPhysicalDynamicGroupData>

SmallToLargeBlockConnections

Declaration
public MyGroups<MySlimBlock, MyBlockGroupData> SmallToLargeBlockConnections
Field Value
Type Description
VRage.Groups.MyGroups<Sandbox.Game.Entities.Cube.MySlimBlock, Sandbox.Game.Entities.Cube.MyBlockGroupData>

Static

Declaration
public static MyCubeGridGroups Static
Field Value
Type Description
MyCubeGridGroups

Methods

AddGridGroupLogic(GridLinkTypeEnum, Func<IMyGridGroupData, MyGridGroupsDefaultEventHandler>)

Declaration
public static void AddGridGroupLogic(GridLinkTypeEnum type, Func<IMyGridGroupData, MyGridGroupsDefaultEventHandler> creator)
Parameters
Type Name Description
GridLinkTypeEnum type
System.Func<IMyGridGroupData, MyGridGroupsDefaultEventHandler> creator

AddNode(GridLinkTypeEnum, MyCubeGrid)

Declaration
public void AddNode(GridLinkTypeEnum type, MyCubeGrid grid)
Parameters
Type Name Description
GridLinkTypeEnum type
MyCubeGrid grid

BreakLink(GridLinkTypeEnum, Int64, MyCubeGrid, MyCubeGrid)

Breaks link between parent and child, you can set child to null to find it by linkId. Returns true when link was removed, returns false when link was not found.

Declaration
public bool BreakLink(GridLinkTypeEnum type, long linkId, MyCubeGrid parent, MyCubeGrid child = null)
Parameters
Type Name Description
GridLinkTypeEnum type
System.Int64 linkId
MyCubeGrid parent
MyCubeGrid child
Returns
Type Description
System.Boolean

CreateLink(GridLinkTypeEnum, Int64, MyCubeGrid, MyCubeGrid)

Creates link between parent and child. Parent is owner of constraint. LinkId must be unique only for parent, for grid it can be packed position of block which created constraint.

Declaration
public void CreateLink(GridLinkTypeEnum type, long linkId, MyCubeGrid parent, MyCubeGrid child)
Parameters
Type Name Description
GridLinkTypeEnum type
System.Int64 linkId
MyCubeGrid parent
MyCubeGrid child

FindConnection(GridLinkTypeEnum, IMyCubeGrid, Func<IMyCubeGrid, IMyCubeGrid, Int64, Boolean>)

Dijkstra search over grid-to-grid connections until searcher is return true NOTE: pretty expensive function on large grid-groups, don't call it often.

Declaration
public static List<KeyValuePair<long, IMyCubeGrid>> FindConnection(GridLinkTypeEnum linking, IMyCubeGrid from, Func<IMyCubeGrid, IMyCubeGrid, long, bool> searcher)
Parameters
Type Name Description
GridLinkTypeEnum linking

Type of grid-group connection

IMyCubeGrid from

Initial grid, from which search would start

System.Func<IMyCubeGrid, IMyCubeGrid, System.Int64, System.Boolean> searcher

When this function returns true - search is stopped, and result is returned.

First arg - new grid

Second - previous grid

Last - block, that creates connection between those 2 grids. Note: There could be only one block per Grid-Grid connection

Note: first call would be called with (from, null, 0)

Returns
Type Description
System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<System.Int64, IMyCubeGrid>>

Null if linking is linking is incorrect.

Null if searcher hasn't returned true.

Otherwise list of connections, where long is block entityId, and IMyCubeGrid - grid, where search is hopped

Note: first element would be always (from, 0)

GetGridGroup(GridLinkTypeEnum, MyCubeGrid)

Declaration
public static IMyGridGroupData GetGridGroup(GridLinkTypeEnum linking, MyCubeGrid grid)
Parameters
Type Name Description
GridLinkTypeEnum linking
MyCubeGrid grid
Returns
Type Description
IMyGridGroupData

GetGridGroups<T>(GridLinkTypeEnum, T)

Declaration
public static T GetGridGroups<T>(GridLinkTypeEnum linking, T grids)
    where T : ICollection<IMyGridGroupData>
Parameters
Type Name Description
GridLinkTypeEnum linking
T grids
Returns
Type Description
T
Type Parameters
Name Description
T

GetGroups(GridLinkTypeEnum)

Declaration
public MyGroupsBase<MyCubeGrid> GetGroups(GridLinkTypeEnum type)
Parameters
Type Name Description
GridLinkTypeEnum type
Returns
Type Description
VRage.Groups.MyGroupsBase<MyCubeGrid>

RemoveNode(GridLinkTypeEnum, MyCubeGrid)

Declaration
public void RemoveNode(GridLinkTypeEnum type, MyCubeGrid grid)
Parameters
Type Name Description
GridLinkTypeEnum type
MyCubeGrid grid

UpdateDynamicState(MyCubeGrid)

Declaration
public void UpdateDynamicState(MyCubeGrid grid)
Parameters
Type Name Description
MyCubeGrid grid

Events

OnGridGroupCreated

Declaration
public event Action<IMyGridGroupData> OnGridGroupCreated
Event Type
Type Description
System.Action<IMyGridGroupData>

OnGridGroupDestroyed

Declaration
public event Action<IMyGridGroupData> OnGridGroupDestroyed
Event Type
Type Description
System.Action<IMyGridGroupData>

Explicit Interface Implementations

IMySceneComponent.Load()

Declaration
void IMySceneComponent.Load()

IMySceneComponent.Unload()

Declaration
void IMySceneComponent.Unload()

Implements

IMySceneComponent
☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾