Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
BlockColorsMap.cs
浏览该文件的文档.
1using Engine;
2
3namespace Game {
4 public class BlockColorsMap {
5 public Color[] m_map = new Color[256];
6
7 public static BlockColorsMap Water = new(new Color(0, 0, 120), new Color(0, 80, 100), new Color(0, 40, 85), new Color(0, 113, 97));
8
9 public static BlockColorsMap Grass = new(new Color(151, 184, 195), new Color(210, 201, 93), new Color(151, 184, 195), new Color(79, 225, 56));
10
11 public static BlockColorsMap OakLeaves = new(
12 new Color(96, 161, 123),
13 new Color(174, 164, 42),
14 new Color(96, 161, 123),
15 new Color(30, 191, 1)
16 );
17
18 public static BlockColorsMap BirchLeaves = new(
19 new Color(76, 181, 96),
20 new Color(174, 109, 42),
21 new Color(66, 215, 116),
22 new Color(77, 235, 96)
23 );
24
25 public static BlockColorsMap MimosaLeaves = new(
26 new Color(146, 191, 176),
27 new Color(160, 191, 176),
28 new Color(146, 191, 166),
29 new Color(150, 201, 141)
30 );
31
32 public static BlockColorsMap PoplarLeaves = new(
33 new Color(76, 181, 96),
34 new Color(174, 109, 42),
35 new Color(56, 205, 106),
36 new Color(67, 215, 86)
37 );
38
39 public static BlockColorsMap SpruceLeaves = new(
40 new Color(96, 161, 155),
41 new Color(129, 174, 42),
42 new Color(96, 161, 155),
43 new Color(1, 191, 53)
44 );
45
46 public static BlockColorsMap TallSpruceLeaves = new(
47 new Color(90, 141, 165),
48 new Color(119, 152, 51),
49 new Color(86, 141, 165),
50 new Color(1, 158, 65)
51 );
52
53 public static BlockColorsMap Ivy = new(new Color(106, 161, 143), new Color(174, 164, 42), new Color(106, 161, 143), new Color(30, 191, 1));
54
55 public static BlockColorsMap Kelp = new(new Color(80, 110, 90), new Color(110, 110, 50), new Color(80, 110, 90), new Color(110, 110, 50));
56
57 public static BlockColorsMap Seagrass = new(new Color(50, 120, 110), new Color(80, 120, 70), new Color(50, 120, 110), new Color(80, 120, 70));
58
59 public BlockColorsMap(Color th11, Color th21, Color th12, Color th22) {
60 for (int i = 0; i < 16; i++) {
61 for (int j = 0; j < 16; j++) {
62 float f = MathUtils.Saturate(i / 8f);
63 float f2 = MathUtils.Saturate((j - 4) / 10f);
64 Color c = Color.Lerp(th11, th21, f);
65 Color c2 = Color.Lerp(th12, th22, f);
66 Color color = Color.Lerp(c, c2, f2);
67 int num = i + j * 16;
68 m_map[num] = color;
69 }
70 }
71 }
72
73 public Color Lookup(int temperature, int humidity) {
74 int num = Math.Clamp(temperature, 0, 15) + 16 * Math.Clamp(humidity, 0, 15);
75 return m_map[num];
76 }
77
78 public Color Lookup(Terrain terrain, int x, int y, int z) {
79 int shaftValue = terrain.GetShaftValue(x, z);
80 int temperature = terrain.GetSeasonalTemperature(shaftValue) + SubsystemWeather.GetTemperatureAdjustmentAtHeight(y);
81 int seasonalHumidity = terrain.GetSeasonalHumidity(shaftValue);
82 return Lookup(temperature, seasonalHumidity);
83 }
84
85 public Color Lookup(DrawBlockEnvironmentData environmentData) => Lookup(environmentData.Temperature, environmentData.Humidity);
86 }
87}
Engine.Color Color
static float Saturate(float x)
static BlockColorsMap Ivy
static BlockColorsMap TallSpruceLeaves
static BlockColorsMap OakLeaves
Color Lookup(DrawBlockEnvironmentData environmentData)
static BlockColorsMap Grass
static BlockColorsMap Kelp
static BlockColorsMap BirchLeaves
static BlockColorsMap PoplarLeaves
static BlockColorsMap Seagrass
Color Lookup(int temperature, int humidity)
BlockColorsMap(Color th11, Color th21, Color th12, Color th22)
Color Lookup(Terrain terrain, int x, int y, int z)
static BlockColorsMap MimosaLeaves
static BlockColorsMap Water
static BlockColorsMap SpruceLeaves
static Func< int, int > GetTemperatureAdjustmentAtHeight
virtual int GetSeasonalHumidity(int x, int z)
virtual int GetShaftValue(int x, int z)
virtual int GetSeasonalTemperature(int x, int z)
static Color Lerp(Color c1, Color c2, float f)