Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
TruthTableData.cs
浏览该文件的文档.
1using System.Text;
2
3namespace Game {
5 public static List<char> m_hexChars = [
6 '0',
7 '1',
8 '2',
9 '3',
10 '4',
11 '5',
12 '6',
13 '7',
14 '8',
15 '9',
16 'A',
17 'B',
18 'C',
19 'D',
20 'E',
21 'F'
22 ];
23
24 public byte[] Data = new byte[16];
25
26 public IEditableItemData Copy() => new TruthTableData { Data = (byte[])Data.Clone() };
27
28 public void LoadString(string data) {
29 for (int i = 0; i < 16; i++) {
30 int num = i < data.Length ? m_hexChars.IndexOf(char.ToUpperInvariant(data[i])) : 0;
31 if (num < 0) {
32 num = 0;
33 }
34 Data[i] = (byte)num;
35 }
36 }
37
38 public void LoadBinaryString(string data) {
39 for (int i = 0; i < 16; i++) {
40 Data[i] = (byte)(i < data.Length && data[i] != '0' ? 15 : 0);
41 }
42 }
43
44 public string SaveString() {
45 StringBuilder stringBuilder = new();
46 for (int i = 0; i < Data.Length; i++) {
47 int index = Math.Clamp((int)Data[i], 0, 15);
48 stringBuilder.Append(m_hexChars[index]);
49 }
50 return stringBuilder.ToString().TrimEnd('0');
51 }
52
53 public string SaveBinaryString() {
54 StringBuilder stringBuilder = new();
55 for (int i = 0; i < Data.Length; i++) {
56 stringBuilder.Append(Data[i] != 0 ? '1' : '0');
57 }
58 return stringBuilder.ToString().TrimEnd('0');
59 }
60 }
61}
IEditableItemData Copy()
static List< char > m_hexChars
void LoadBinaryString(string data)
void LoadString(string data)