Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
CompassBlock.cs
浏览该文件的文档.
1
using
Engine
;
2
using
Engine.Graphics
;
3
4
namespace
Game
{
5
public
class
CompassBlock
:
Block
{
6
public
static
int
Index
= 117;
7
8
public
BlockMesh
m_caseMesh
=
new
();
9
10
public
BlockMesh
m_pointerMesh
=
new
();
11
12
public
override
void
Initialize
() {
13
Model
model =
ContentManager
.
Get
<
Model
>(
"Models/Compass"
);
14
Matrix
boneAbsoluteTransform =
BlockMesh
.
GetBoneAbsoluteTransform
(model.
FindMesh
(
"Case"
).
ParentBone
);
15
Matrix
boneAbsoluteTransform2 =
BlockMesh
.
GetBoneAbsoluteTransform
(model.
FindMesh
(
"Pointer"
).
ParentBone
);
16
m_caseMesh
.AppendModelMeshPart(
17
model.
FindMesh
(
"Case"
).
MeshParts
[0],
18
boneAbsoluteTransform *
Matrix
.
CreateTranslation
(0f, -0.01f, 0f),
19
false
,
20
false
,
21
true
,
22
false
,
23
Color
.
White
24
);
25
m_pointerMesh
.AppendModelMeshPart(
26
model.
FindMesh
(
"Pointer"
).
MeshParts
[0],
27
boneAbsoluteTransform2 *
Matrix
.
CreateTranslation
(0f, -0.01f, 0f),
28
false
,
29
false
,
30
false
,
31
false
,
32
Color
.
White
33
);
34
base.Initialize();
35
}
36
37
public
override
void
GenerateTerrainVertices
(
BlockGeometryGenerator
generator,
TerrainGeometry
geometry,
int
value,
int
x,
int
y,
int
z) { }
38
39
public
override
void
DrawBlock
(
PrimitivesRenderer3D
primitivesRenderer,
40
int
value,
41
Color
color,
42
float
size,
43
ref
Matrix
matrix,
44
DrawBlockEnvironmentData
environmentData) {
45
float
radians = 0f;
46
if
(environmentData !=
null
47
&& environmentData.
SubsystemTerrain
!=
null
) {
48
Vector3
forward = environmentData.
InWorldMatrix
.
Forward
;
49
Vector3
translation = environmentData.
InWorldMatrix
.
Translation
;
50
Vector3
v = environmentData.
SubsystemTerrain
.
Project
.
FindSubsystem
<
SubsystemMagnetBlockBehavior
>(
true
)
51
.FindNearestCompassTarget(translation);
52
Vector3
vector = translation - v;
53
radians =
Vector2
.
Angle
(v2:
new
Vector2
(forward.
X
, forward.
Z
), v1:
new
Vector2
(vector.
X
, vector.
Z
));
54
}
55
Matrix
matrix2 = matrix;
56
Matrix
matrix3 =
Matrix
.
CreateRotationY
(radians) * matrix;
57
BlocksManager
.
DrawMeshBlock
(primitivesRenderer,
m_caseMesh
, color, size * 6f, ref matrix2, environmentData);
58
BlocksManager
.
DrawMeshBlock
(primitivesRenderer,
m_pointerMesh
, color, size * 6f, ref matrix3, environmentData);
59
}
60
}
61
}
Engine.Graphics.Model
定义
Model.cs:4
Engine.Graphics.Model.FindMesh
ModelMesh FindMesh(string name, bool throwIfNotFound=true)
定义
Model.cs:28
Engine.Graphics.ModelMesh.ParentBone
ModelBone ParentBone
定义
ModelMesh.cs:9
Engine.Graphics.ModelMesh.MeshParts
ReadOnlyList< ModelMeshPart > MeshParts
定义
ModelMesh.cs:16
Engine.Graphics.PrimitivesRenderer3D
定义
PrimitivesRenderer3D.cs:4
Game.BlockGeometryGenerator
定义
BlockGeometryGenerator.cs:4
Game.Block
定义
Block.cs:5
Game.BlockMesh
定义
BlockMesh.cs:7
Game.BlockMesh.GetBoneAbsoluteTransform
static Matrix GetBoneAbsoluteTransform(ModelBone modelBone)
定义
BlockMesh.cs:37
Game.BlocksManager
定义
BlocksManager.cs:10
Game.BlocksManager.DrawMeshBlock
static void DrawMeshBlock(PrimitivesRenderer3D primitivesRenderer, BlockMesh blockMesh, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
定义
BlocksManager.cs:829
Game.CompassBlock
定义
CompassBlock.cs:5
Game.CompassBlock.Index
static int Index
定义
CompassBlock.cs:6
Game.CompassBlock.m_caseMesh
BlockMesh m_caseMesh
定义
CompassBlock.cs:8
Game.CompassBlock.m_pointerMesh
BlockMesh m_pointerMesh
定义
CompassBlock.cs:10
Game.CompassBlock.DrawBlock
override void DrawBlock(PrimitivesRenderer3D primitivesRenderer, int value, Color color, float size, ref Matrix matrix, DrawBlockEnvironmentData environmentData)
定义
CompassBlock.cs:39
Game.CompassBlock.Initialize
override void Initialize()
定义
CompassBlock.cs:12
Game.CompassBlock.GenerateTerrainVertices
override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
定义
CompassBlock.cs:37
Game.ContentManager
定义
ContentManager.cs:50
Game.ContentManager.Get
static object Get(Type type, string name)
定义
ContentManager.cs:70
Game.DrawBlockEnvironmentData
定义
DrawBlockEnvironmentData.cs:5
Game.DrawBlockEnvironmentData.SubsystemTerrain
SubsystemTerrain SubsystemTerrain
定义
DrawBlockEnvironmentData.cs:8
Game.DrawBlockEnvironmentData.InWorldMatrix
Matrix InWorldMatrix
定义
DrawBlockEnvironmentData.cs:10
Game.SubsystemMagnetBlockBehavior
定义
SubsystemMagnetBlockBehavior.cs:6
Game.TerrainGeometry
定义
TerrainGeometry.cs:5
GameEntitySystem.Project.FindSubsystem
virtual Subsystem FindSubsystem(Type type, string name, bool throwOnError)
定义
Project.cs:110
GameEntitySystem.Subsystem.Project
Project Project
定义
Subsystem.cs:10
Engine.Graphics
定义
BaseBatch.cs:1
Engine.Graphics.ShaderParameterType.Vector2
@ Vector2
定义
ShaderParameterType.cs:4
Engine
定义
BaseSound.cs:10
Game
定义
ContentFileBridge.cs:4
Engine.Color
定义
Color.cs:2
Engine.Color.White
static Color White
定义
Color.cs:15
Engine.Matrix
定义
Matrix.cs:17
Engine.Matrix.CreateTranslation
static Matrix CreateTranslation(float x, float y, float z)
定义
Matrix.cs:580
Engine.Matrix.CreateRotationY
static Matrix CreateRotationY(float radians)
定义
Matrix.cs:431
Engine.Matrix.Translation
Vector3 Translation
定义
Matrix.cs:83
Engine.Matrix.Forward
Vector3 Forward
定义
Matrix.cs:74
Engine.Vector2
定义
Vector2.cs:2
Engine.Vector2.Angle
static float Angle(Vector2 v1, Vector2 v2)
定义
Vector2.cs:108
Engine.Vector3
定义
Vector3.cs:2
Engine.Vector3.Z
float Z
定义
Vector3.cs:7
Engine.Vector3.X
float X
定义
Vector3.cs:3
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Block
CompassBlock.cs
制作者
1.16.1