Space Engineers
|
Public Member Functions | |
void | ApplyDestructionDeformation (IMySlimBlock block) |
Applies random deformation to given block More... | |
void | ChangeGridOwnership (long playerId, MyOwnershipShareModeEnum shareMode) |
Changes owner of all blocks on grid Call only on server! More... | |
void | ClearSymmetries () |
Clears symmetry planes More... | |
void | ColorBlocks (VRageMath.Vector3I min, VRageMath.Vector3I max, VRageMath.Vector3 newHSV) |
Sets given color mask to range of blocks More... | |
void | ConvertToDynamic () |
Converts station to ship More... | |
bool | CubeExists (VRageMath.Vector3I pos) |
Returns true if there is any block occupying given position More... | |
void | FixTargetCube (out VRageMath.Vector3I cube, VRageMath.Vector3 fractionalGridPosition) |
Clamps fractional grid position to nearest cell (prefers neighboring occupied cell before empty) More... | |
VRageMath.Vector3 | GetClosestCorner (VRageMath.Vector3I gridPos, VRageMath.Vector3 position) |
Gets position of closest cell corner More... | |
IMySlimBlock | GetCubeBlock (VRageMath.Vector3I pos) |
Get cube block at given position More... | |
VRageMath.Vector3D | GetLineIntersectionExactAll (ref VRageMath.LineD line, out double distance, out IMySlimBlock intersectedBlock) |
Returns point of intersection with line More... | |
bool | GetLineIntersectionExactGrid (ref VRageMath.LineD line, ref VRageMath.Vector3I position, ref double distanceSquared) |
Same as GetLineIntersectionExactAll just without intersected block More... | |
VRageMath.Vector3D | GridIntegerToWorld (VRageMath.Vector3I gridCoords) |
Converts grid coordinates to world space More... | |
bool | IsTouchingAnyNeighbor (VRageMath.Vector3I min, VRageMath.Vector3I max) |
Finds out if given area has any neighboring block More... | |
bool | IsTrash () |
Algorithm used by game to define useless grids to be deleted More... | |
bool | CanMergeCubes (IMyCubeGrid gridToMerge, VRageMath.Vector3I gridOffset) |
Determines if merge between grids is possible with given offset More... | |
VRageMath.MatrixI | CalculateMergeTransform (IMyCubeGrid gridToMerge, VRageMath.Vector3I gridOffset) |
Transformation matrix that has to be applied to grid blocks to correctly merge it used because ie. ships can be turned 90 degrees along X axis when being merged More... | |
IMyCubeGrid | MergeGrid_MergeBlock (IMyCubeGrid gridToMerge, VRageMath.Vector3I gridOffset) |
Merge used by merge blocks More... | |
VRageMath.Vector3I | RayCastBlocks (VRageMath.Vector3D worldStart, VRageMath.Vector3D worldEnd) |
Returns cell with block intersecting given line More... | |
void | RayCastCells (VRageMath.Vector3D worldStart, VRageMath.Vector3D worldEnd, List< VRageMath.Vector3I > outHitPositions, VRageMath.Vector3I?gridSizeInflate=null, bool havokWorld=false) |
Returns list of cells with blocks intersected by line More... | |
void | RazeBlock (VRageMath.Vector3I position) |
Remove block at given position More... | |
void | RazeBlocks (ref VRageMath.Vector3I pos, ref VRageMath.Vector3UByte size) |
Remove blocks in given area More... | |
void | RazeBlocks (List< VRageMath.Vector3I > locations) |
Remove blocks at given positions More... | |
void | RemoveBlock (IMySlimBlock block, bool updatePhysics=false) |
Removes given block More... | |
void | RemoveDestroyedBlock (IMySlimBlock block) |
Removes block and deformates neighboring blocks More... | |
void | UpdateBlockNeighbours (IMySlimBlock block) |
Refreshes block neighbors (checks connections) More... | |
VRageMath.Vector3I | WorldToGridInteger (VRageMath.Vector3 coords) |
Converts world coordinates to grid space cell coordinates More... | |
void | GetBlocks (List< IMySlimBlock > blocks, Func< IMySlimBlock, bool > collect=null) |
Returns blocks in grid More... | |
List< IMySlimBlock > | GetBlocksInsideSphere (ref VRageMath.BoundingSphereD sphere) |
Returns blocks inside given sphere (world space) More... | |
void | UpdateOwnership (long ownerId, bool isFunctional) |
VRageMath.Vector3I | WorldToGridInteger (VRageMath.Vector3D coords) |
Converts world coordinates to grid space cell coordinates More... | |
IMySlimBlock | AddBlock (MyObjectBuilder_CubeBlock objectBuilder, bool testMerge) |
Add a cubeblock to the grid More... | |
bool | WillRemoveBlockSplitGrid (IMySlimBlock testBlock) |
Checks if removing a block will cause the grid to split More... | |
![]() | |
string | GetFriendlyName () |
void | Close () |
void | Delete () |
MyObjectBuilder_EntityBase | GetObjectBuilder (bool copy=false) |
void | BeforeSave () |
IMyEntity | GetTopMostParent (Type type=null) |
void | SetLocalMatrix (VRageMath.Matrix localMatrix, object source=null) |
void | GetChildren (List< IMyEntity > children, Func< IMyEntity, bool > collect=null) |
MyEntitySubpart | GetSubpart (string name) |
bool | TryGetSubpart (string name, out MyEntitySubpart subpart) |
VRageMath.Vector3 | GetDiffuseColor () |
bool | IsVisible () |
void | DebugDraw () |
void | DebugDrawInvalidTriangles () |
void | EnableColorMaskForSubparts (bool enable) |
void | SetColorMaskForSubparts (VRageMath.Vector3 colorMaskHsv) |
void | SetEmissiveParts (string emissiveName, Color emissivePartColor, float emissivity) |
Sets the emissive value of a specific emissive material on entity. More... | |
void | SetEmissivePartsForSubparts (string emissiveName, Color emissivePartColor, float emissivity) |
Sets the emissive value of a specific emissive material on all entity subparts. More... | |
float | GetDistanceBetweenCameraAndBoundingSphere () |
float | GetDistanceBetweenCameraAndPosition () |
float | GetLargestDistanceBetweenCameraAndBoundingSphere () |
float | GetSmallestDistanceBetweenCameraAndBoundingSphere () |
void | OnRemovedFromScene (object source) |
void | OnAddedToScene (object source) |
MatrixD | GetViewMatrix () |
MatrixD | GetWorldMatrixNormalizedInv () |
void | SetWorldMatrix (VRageMath.MatrixD worldMatrix, object source=null) |
void | SetPosition (VRageMath.Vector3D pos) |
bool | GetIntersectionWithLine (ref LineD line, out VRage.Game.Models.MyIntersectionResultLineTriangleEx?tri, IntersectionFlags flags) |
Vector3 | GetIntersectionWithLineAndBoundingSphere (ref LineD line, float boundingSphereRadiusMultiplier) |
bool | GetIntersectionWithSphere (ref BoundingSphereD sphere) |
void | GetTrianglesIntersectingSphere (ref BoundingSphereD sphere, Vector3?referenceNormalVector, float?maxAngle, System.Collections.Generic.List< MyTriangle_Vertex_Normals > retTriangles, int maxNeighbourTriangles) |
bool | DoOverlapSphereTest (float sphereRadius, Vector3D spherePos) |
void | AddToGamePruningStructure () |
void | RemoveFromGamePruningStructure () |
void | UpdateGamePruningStructure () |
![]() | |
VRageMath.Vector3D | GetPosition () |
Events | |
Action< IMySlimBlock > | OnBlockAdded |
Action< IMySlimBlock > | OnBlockRemoved |
Action< IMyCubeGrid > | OnBlockOwnershipChanged |
Action< IMyCubeGrid > | OnGridChanged |
![]() | |
Action< IMyEntity > | OnClose |
Action< IMyEntity > | OnClosing |
Action< IMyEntity > | OnMarkForClose |
Action< IMyEntity > | OnPhysicsChanged |
Definition at line 9 of file IMyCubeGrid.cs.
IMySlimBlock VRage.Game.ModAPI.IMyCubeGrid.AddBlock | ( | MyObjectBuilder_CubeBlock | objectBuilder, |
bool | testMerge | ||
) |
Add a cubeblock to the grid
objectBuilder | Object builder of cube to add |
testMerge | test for grid merging |
void VRage.Game.ModAPI.IMyCubeGrid.ApplyDestructionDeformation | ( | IMySlimBlock | block | ) |
Applies random deformation to given block
block | block to be deformed |
VRageMath.MatrixI VRage.Game.ModAPI.IMyCubeGrid.CalculateMergeTransform | ( | IMyCubeGrid | gridToMerge, |
VRageMath.Vector3I | gridOffset | ||
) |
Transformation matrix that has to be applied to grid blocks to correctly merge it used because ie. ships can be turned 90 degrees along X axis when being merged
gridToMerge | |
gridOffset |
bool VRage.Game.ModAPI.IMyCubeGrid.CanMergeCubes | ( | IMyCubeGrid | gridToMerge, |
VRageMath.Vector3I | gridOffset | ||
) |
Determines if merge between grids is possible with given offset
gridToMerge | |
gridOffset | offset to merged grid (in grid space) |
void VRage.Game.ModAPI.IMyCubeGrid.ChangeGridOwnership | ( | long | playerId, |
MyOwnershipShareModeEnum | shareMode | ||
) |
Changes owner of all blocks on grid Call only on server!
playerId | new owner id |
shareMode | new share mode |
Implemented in Sandbox.Game.Entities.MyCubeGrid.
void VRage.Game.ModAPI.IMyCubeGrid.ClearSymmetries | ( | ) |
Clears symmetry planes
Implemented in Sandbox.Game.Entities.MyCubeGrid.
void VRage.Game.ModAPI.IMyCubeGrid.ColorBlocks | ( | VRageMath.Vector3I | min, |
VRageMath.Vector3I | max, | ||
VRageMath.Vector3 | newHSV | ||
) |
Sets given color mask to range of blocks
min | Starting coordinates of collored area |
max | End coordinates of collored area |
newHSV | new color mask (Saturation and Value are offsets) |
void VRage.Game.ModAPI.IMyCubeGrid.ConvertToDynamic | ( | ) |
Converts station to ship
Implemented in Sandbox.Game.Entities.MyCubeGrid.
bool VRage.Game.ModAPI.IMyCubeGrid.CubeExists | ( | VRageMath.Vector3I | pos | ) |
Returns true if there is any block occupying given position
Implements VRage.Game.ModAPI.Ingame.IMyCubeGrid.
Implemented in Sandbox.Game.Entities.MyCubeGrid.
void VRage.Game.ModAPI.IMyCubeGrid.FixTargetCube | ( | out VRageMath.Vector3I | cube, |
VRageMath.Vector3 | fractionalGridPosition | ||
) |
Clamps fractional grid position to nearest cell (prefers neighboring occupied cell before empty)
cube | Return value |
fractionalGridPosition | Fractional position in grid space |
void VRage.Game.ModAPI.IMyCubeGrid.GetBlocks | ( | List< IMySlimBlock > | blocks, |
Func< IMySlimBlock, bool > | collect = null |
||
) |
Returns blocks in grid
blocks | List of returned blocks |
collect | Filter - function called on each block telling if it should be added to result |
List<IMySlimBlock> VRage.Game.ModAPI.IMyCubeGrid.GetBlocksInsideSphere | ( | ref VRageMath.BoundingSphereD | sphere | ) |
Returns blocks inside given sphere (world space)
VRageMath.Vector3 VRage.Game.ModAPI.IMyCubeGrid.GetClosestCorner | ( | VRageMath.Vector3I | gridPos, |
VRageMath.Vector3 | position | ||
) |
Gets position of closest cell corner
gridPos | Cell coordinates |
position | Position to find nearest corner to. Grid space |
IMySlimBlock VRage.Game.ModAPI.IMyCubeGrid.GetCubeBlock | ( | VRageMath.Vector3I | pos | ) |
Get cube block at given position
pos | Block position |
Implements VRage.Game.ModAPI.Ingame.IMyCubeGrid.
Implemented in Sandbox.Game.Entities.MyCubeGrid.
VRageMath.Vector3D VRage.Game.ModAPI.IMyCubeGrid.GetLineIntersectionExactAll | ( | ref VRageMath.LineD | line, |
out double | distance, | ||
out IMySlimBlock | intersectedBlock | ||
) |
Returns point of intersection with line
line | Intersecting line |
distance | Distance of intersection |
intersectedBlock |
bool VRage.Game.ModAPI.IMyCubeGrid.GetLineIntersectionExactGrid | ( | ref VRageMath.LineD | line, |
ref VRageMath.Vector3I | position, | ||
ref double | distanceSquared | ||
) |
Same as GetLineIntersectionExactAll just without intersected block
Implemented in Sandbox.Game.Entities.MyCubeGrid.
VRageMath.Vector3D VRage.Game.ModAPI.IMyCubeGrid.GridIntegerToWorld | ( | VRageMath.Vector3I | gridCoords | ) |
Converts grid coordinates to world space
Implements VRage.Game.ModAPI.Ingame.IMyCubeGrid.
Implemented in Sandbox.Game.Entities.MyCubeGrid.
bool VRage.Game.ModAPI.IMyCubeGrid.IsTouchingAnyNeighbor | ( | VRageMath.Vector3I | min, |
VRageMath.Vector3I | max | ||
) |
Finds out if given area has any neighboring block
min | |
max |
Implemented in Sandbox.Game.Entities.MyCubeGrid.
bool VRage.Game.ModAPI.IMyCubeGrid.IsTrash | ( | ) |
Algorithm used by game to define useless grids to be deleted
Implemented in Sandbox.Game.Entities.MyCubeGrid.
IMyCubeGrid VRage.Game.ModAPI.IMyCubeGrid.MergeGrid_MergeBlock | ( | IMyCubeGrid | gridToMerge, |
VRageMath.Vector3I | gridOffset | ||
) |
Merge used by merge blocks
gridToMerge | |
gridOffset |
VRageMath.Vector3I VRage.Game.ModAPI.IMyCubeGrid.RayCastBlocks | ( | VRageMath.Vector3D | worldStart, |
VRageMath.Vector3D | worldEnd | ||
) |
Returns cell with block intersecting given line
worldStart | |
worldEnd |
void VRage.Game.ModAPI.IMyCubeGrid.RayCastCells | ( | VRageMath.Vector3D | worldStart, |
VRageMath.Vector3D | worldEnd, | ||
List< VRageMath.Vector3I > | outHitPositions, | ||
VRageMath.Vector3I? | gridSizeInflate = null , |
||
bool | havokWorld = false |
||
) |
Returns list of cells with blocks intersected by line
worldStart | |
worldEnd | |
outHitPositions | |
gridSizeInflate | |
havokWorld | use physics intersection |
void VRage.Game.ModAPI.IMyCubeGrid.RazeBlock | ( | VRageMath.Vector3I | position | ) |
Remove block at given position
Implemented in Sandbox.Game.Entities.MyCubeGrid.
void VRage.Game.ModAPI.IMyCubeGrid.RazeBlocks | ( | ref VRageMath.Vector3I | pos, |
ref VRageMath.Vector3UByte | size | ||
) |
Remove blocks in given area
pos | Starting position |
size | Area extents |
Implemented in Sandbox.Game.Entities.MyCubeGrid.
void VRage.Game.ModAPI.IMyCubeGrid.RazeBlocks | ( | List< VRageMath.Vector3I > | locations | ) |
Remove blocks at given positions
Implemented in Sandbox.Game.Entities.MyCubeGrid.
void VRage.Game.ModAPI.IMyCubeGrid.RemoveBlock | ( | IMySlimBlock | block, |
bool | updatePhysics = false |
||
) |
Removes given block
block | |
updatePhysics | Update grid physics |
void VRage.Game.ModAPI.IMyCubeGrid.RemoveDestroyedBlock | ( | IMySlimBlock | block | ) |
Removes block and deformates neighboring blocks
block |
void VRage.Game.ModAPI.IMyCubeGrid.UpdateBlockNeighbours | ( | IMySlimBlock | block | ) |
Refreshes block neighbors (checks connections)
block |
void VRage.Game.ModAPI.IMyCubeGrid.UpdateOwnership | ( | long | ownerId, |
bool | isFunctional | ||
) |
Implemented in Sandbox.Game.Entities.MyCubeGrid.
bool VRage.Game.ModAPI.IMyCubeGrid.WillRemoveBlockSplitGrid | ( | IMySlimBlock | testBlock | ) |
Checks if removing a block will cause the grid to split
testBlock |
VRageMath.Vector3I VRage.Game.ModAPI.IMyCubeGrid.WorldToGridInteger | ( | VRageMath.Vector3 | coords | ) |
Converts world coordinates to grid space cell coordinates
coords |
VRageMath.Vector3I VRage.Game.ModAPI.IMyCubeGrid.WorldToGridInteger | ( | VRageMath.Vector3D | coords | ) |
Converts world coordinates to grid space cell coordinates
Implements VRage.Game.ModAPI.Ingame.IMyCubeGrid.
|
get |
List of players with majority of blocks on grid
Definition at line 20 of file IMyCubeGrid.cs.
|
get |
Grid size in meters
Definition at line 103 of file IMyCubeGrid.cs.
|
getset |
Grid size enumeration
Definition at line 108 of file IMyCubeGrid.cs.
|
get |
Station = static
Definition at line 113 of file IMyCubeGrid.cs.
|
get |
Maximum coordinates of blocks in grid
Definition at line 131 of file IMyCubeGrid.cs.
|
get |
Minimum coordinates of blocks in grid
Definition at line 162 of file IMyCubeGrid.cs.
|
get |
List of players with any blocks on grid
Definition at line 24 of file IMyCubeGrid.cs.
Action<IMySlimBlock> VRage.Game.ModAPI.IMyCubeGrid.OnBlockAdded |
Definition at line 241 of file IMyCubeGrid.cs.
Action<IMyCubeGrid> VRage.Game.ModAPI.IMyCubeGrid.OnBlockOwnershipChanged |
Definition at line 243 of file IMyCubeGrid.cs.
Action<IMySlimBlock> VRage.Game.ModAPI.IMyCubeGrid.OnBlockRemoved |
Definition at line 242 of file IMyCubeGrid.cs.
Action<IMyCubeGrid> VRage.Game.ModAPI.IMyCubeGrid.OnGridChanged |
Definition at line 244 of file IMyCubeGrid.cs.