本文整理汇总了C#中IModule.GetValue方法的典型用法代码示例。如果您正苦于以下问题:C# IModule.GetValue方法的具体用法?C# IModule.GetValue怎么用?C# IModule.GetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IModule
的用法示例。
在下文中一共展示了IModule.GetValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetBiome
private void SetBiome(Triangle<Vertex> triangle, IModule biomesNoise)
{
Vector3 center = (triangle.Vertices[0].Position3D + triangle.Vertices[1].Position3D + triangle.Vertices[2].Position3D) / 3f;
var noiseValue = biomesNoise.GetValue(center.x, center.y, center.z);
float normalAngle = Mathf.Abs(Vector3.Angle(triangle.Normal, Vector3.up));
triangle.Biome = Biomes.Grass;
float triangleMinY = triangle.MinY();
float triangleMaxY = triangle.MaxY();
if (triangleMaxY < WaterLevel)
{
if (normalAngle >= CliffAngle)
{
triangle.Biome = Biomes.DeepWater;
}
else if (triangleMinY > ShallowWaterLevel)
{
triangle.Biome = Biomes.ShallowWater;
}
else {
triangle.Biome = Biomes.Water;
}
}
else {
if (normalAngle >= CliffAngle)
{
triangle.Biome = Biomes.Cliff;
}
else
{
if (normalAngle < CliffAngle && normalAngle >= HillAngle)
{
if (noiseValue > 0.2)
{
triangle.Biome = Biomes.Dirt;
}
else {
triangle.Biome = Biomes.DeadGrass;
}
}
else {
if (triangleMinY < WaterLevel && triangleMaxY > WaterLevel)
{
triangle.Biome = Biomes.Sand;
}
else {
triangle.Biome = Biomes.Grass;
}
}
}
}
}