Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
StoneAxeBlock.cs
浏览该文件的文档.
1using Engine;
3
4namespace Game {
5 public class StoneAxeBlock : Block {
6 public static int Index = 29;
7
9
10 public override void Initialize() {
11 int num = 47;
12 int num2 = 1;
13 Model model = ContentManager.Get<Model>("Models/StoneAxe");
14 Matrix boneAbsoluteTransform = BlockMesh.GetBoneAbsoluteTransform(model.FindMesh("Handle").ParentBone);
15 Matrix boneAbsoluteTransform2 = BlockMesh.GetBoneAbsoluteTransform(model.FindMesh("Head").ParentBone);
16 BlockMesh blockMesh = new();
17 blockMesh.AppendModelMeshPart(
18 model.FindMesh("Handle").MeshParts[0],
19 boneAbsoluteTransform * Matrix.CreateTranslation(0f, -0.5f, 0f),
20 false,
21 false,
22 false,
23 false,
25 );
26 blockMesh.TransformTextureCoordinates(Matrix.CreateTranslation(num % 16 / 16f, num / 16 / 16f, 0f));
27 BlockMesh blockMesh2 = new();
28 blockMesh2.AppendModelMeshPart(
29 model.FindMesh("Head").MeshParts[0],
30 boneAbsoluteTransform2 * Matrix.CreateTranslation(0f, -0.5f, 0f),
31 false,
32 false,
33 false,
34 false,
36 );
37 blockMesh2.TransformTextureCoordinates(Matrix.CreateTranslation(num2 % 16 / 16f, num2 / 16 / 16f, 0f));
38 m_standaloneBlockMesh.AppendBlockMesh(blockMesh);
39 m_standaloneBlockMesh.AppendBlockMesh(blockMesh2);
40 base.Initialize();
41 }
42
43 public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z) { }
44
45 public override void DrawBlock(PrimitivesRenderer3D primitivesRenderer,
46 int value,
47 Color color,
48 float size,
49 ref Matrix matrix,
50 DrawBlockEnvironmentData environmentData) {
51 BlocksManager.DrawMeshBlock(primitivesRenderer, m_standaloneBlockMesh, color, 2f * size, ref matrix, environmentData);
52 }
53 }
54}
ModelMesh FindMesh(string name, bool throwIfNotFound=true)
ReadOnlyList< ModelMeshPart > MeshParts
virtual void TransformTextureCoordinates(Matrix matrix, int facesMask=-1)
static Matrix GetBoneAbsoluteTransform(ModelBone modelBone)
virtual void AppendModelMeshPart(ModelMeshPart meshPart, Matrix matrix, bool makeEmissive, bool flipWindingOrder, bool doubleSided, bool flipNormals, Color color)
static void DrawMeshBlock(PrimitivesRenderer3D primitivesRenderer, BlockMesh blockMesh, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
static object Get(Type type, string name)
override void DrawBlock(PrimitivesRenderer3D primitivesRenderer, int value, Color color, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
override void Initialize()
static Color White
static Matrix CreateTranslation(float x, float y, float z)