6 public static int Index = 199;
20 && mountingFace < 4) {
23 return base.GetCustomCollisionBoxes(terrain, value);
32 result.CellFace = raycastResult.
CellFace;
40 DynamicArray<TerrainVertex> vertices = subsetAlphaTest.
Vertices;
41 TerrainGeometryDynamicArray<int> indices = subsetAlphaTest.
Indices;
42 int count = vertices.
Count;
48 switch (mountingFace) {
58 ref vertices.
Array[count]
67 ref vertices.
Array[count + 1]
76 ref vertices.
Array[count + 2]
85 ref vertices.
Array[count + 3]
88 indices.
Add(count + 1);
89 indices.
Add(count + 2);
90 indices.
Add(count + 2);
91 indices.
Add(count + 1);
93 indices.
Add(count + 2);
94 indices.
Add(count + 3);
97 indices.
Add(count + 3);
98 indices.
Add(count + 2);
109 ref vertices.
Array[count]
118 ref vertices.
Array[count + 1]
127 ref vertices.
Array[count + 2]
136 ref vertices.
Array[count + 3]
139 indices.
Add(count + 1);
140 indices.
Add(count + 2);
141 indices.
Add(count + 2);
142 indices.
Add(count + 1);
144 indices.
Add(count + 2);
145 indices.
Add(count + 3);
148 indices.
Add(count + 3);
149 indices.
Add(count + 2);
160 ref vertices.
Array[count]
169 ref vertices.
Array[count + 1]
178 ref vertices.
Array[count + 2]
187 ref vertices.
Array[count + 3]
190 indices.
Add(count + 2);
191 indices.
Add(count + 1);
192 indices.
Add(count + 1);
193 indices.
Add(count + 2);
195 indices.
Add(count + 2);
197 indices.
Add(count + 3);
198 indices.
Add(count + 3);
200 indices.
Add(count + 2);
211 ref vertices.
Array[count]
220 ref vertices.
Array[count + 1]
229 ref vertices.
Array[count + 2]
238 ref vertices.
Array[count + 3]
241 indices.
Add(count + 2);
242 indices.
Add(count + 1);
243 indices.
Add(count + 1);
244 indices.
Add(count + 2);
246 indices.
Add(count + 2);
248 indices.
Add(count + 3);
249 indices.
Add(count + 3);
251 indices.
Add(count + 2);
static void SetupLitCornerVertex(float x, float y, float z, Color color, int textureSlot, int corner, ref TerrainVertex vertex)
static void DrawFlatOrImageExtrusionBlock(PrimitivesRenderer3D primitivesRenderer, int value, float size, ref Matrix matrix, Texture2D texture, Color color, bool isEmissive, DrawBlockEnvironmentData environmentData)
static readonly float[] LightIntensityByLightValueAndFace
static ? ElectricConnectorDirection GetConnectorDirection(int mountingFace, int rotation, int connectorFace)
static int SetMountingFace(int data, int face)
BoundingBox[][] m_boundingBoxes
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
override BoundingBox[] GetCustomCollisionBoxes(SubsystemTerrain terrain, int value)
override ElectricElement CreateElectricElement(SubsystemElectricity subsystemElectricity, int value, int x, int y, int z)
override int GetFace(int value)
override void DrawBlock(PrimitivesRenderer3D primitivesRenderer, int value, Color color, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
static int GetMountingFace(int data)
override BlockPlacementData GetPlacementValue(SubsystemTerrain subsystemTerrain, ComponentMiner componentMiner, int value, TerrainRaycastResult raycastResult)
方块放置方向
override? ElectricConnectorType GetConnectorType(SubsystemTerrain terrain, int value, int face, int connectorFace, int x, int y, int z)
TerrainGeometrySubset SubsetAlphaTest
TerrainGeometryDynamicArray< TerrainVertex > Vertices
TerrainGeometryDynamicArray< int > Indices
static int ExtractLight(int value)
static int MakeBlockValue(int contents)
static int ExtractData(int value)
static Color MultiplyColorOnly(Color c, float s)