Elin Decompiled Documentation EA 23.310 Nightly Patch 1
Loading...
Searching...
No Matches
SourceCheck.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceCheck : SourceDataString<SourceCheck.Row>
5{
6 [Serializable]
7 public class Row : BaseRow
8 {
9 public string id;
10
11 public int element;
12
13 public int targetElement;
14
15 public float subFactor;
16
17 public float targetSubFactor;
18
19 public int baseDC;
20
21 public int critRange;
22
23 public int fumbleRange;
24
25 public int dice;
26
27 public float lvMod;
28
29 public override bool UseAlias => false;
30
31 public override string GetAlias => "n";
32 }
33
34 public static readonly IReadOnlyDictionary<string, int> RowMapping = new Dictionary<string, int>
35 {
36 ["id"] = 0,
37 ["element"] = 1,
38 ["targetElement"] = 2,
39 ["subFactor"] = 3,
40 ["targetSubFactor"] = 4,
41 ["baseDC"] = 5,
42 ["critRange"] = 6,
43 ["fumbleRange"] = 7,
44 ["dice"] = 8,
45 ["lvMod"] = 9
46 };
47
48 public static readonly IReadOnlyDictionary<string, string> TypeMapping = new Dictionary<string, string>
49 {
50 ["id"] = "string",
51 ["element"] = "element_id",
52 ["targetElement"] = "element_id",
53 ["subFactor"] = "float",
54 ["targetSubFactor"] = "float",
55 ["baseDC"] = "int",
56 ["critRange"] = "int",
57 ["fumbleRange"] = "int",
58 ["dice"] = "int",
59 ["lvMod"] = "float"
60 };
61
62 public override Row CreateRow()
63 {
64 return new Row
65 {
66 id = SourceData.GetString(0),
67 element = Core.GetElement(SourceData.GetStr(1)),
68 targetElement = Core.GetElement(SourceData.GetStr(2)),
69 subFactor = SourceData.GetFloat(3),
70 targetSubFactor = SourceData.GetFloat(4),
71 baseDC = SourceData.GetInt(5),
72 critRange = SourceData.GetInt(6),
73 fumbleRange = SourceData.GetInt(7),
74 dice = SourceData.GetInt(8),
75 lvMod = SourceData.GetFloat(9)
76 };
77 }
78
79 public override Row CreateRowByMapping(IReadOnlyDictionary<string, int> mapping)
80 {
81 return new Row
82 {
83 id = SourceData.GetString(mapping["id"]),
84 element = Core.GetElement(SourceData.GetStr(mapping["element"])),
85 targetElement = Core.GetElement(SourceData.GetStr(mapping["targetElement"])),
86 subFactor = SourceData.GetFloat(mapping["subFactor"]),
87 targetSubFactor = SourceData.GetFloat(mapping["targetSubFactor"]),
88 baseDC = SourceData.GetInt(mapping["baseDC"]),
89 critRange = SourceData.GetInt(mapping["critRange"]),
90 fumbleRange = SourceData.GetInt(mapping["fumbleRange"]),
91 dice = SourceData.GetInt(mapping["dice"]),
92 lvMod = SourceData.GetFloat(mapping["lvMod"])
93 };
94 }
95
96 public override void SetRow(Row r)
97 {
98 map[r.id] = r;
99 }
100
101 public override IReadOnlyDictionary<string, int> GetRowMapping()
102 {
103 return RowMapping;
104 }
105
106 public override IReadOnlyDictionary<string, string> GetTypeMapping()
107 {
108 return TypeMapping;
109 }
110}
Definition: Core.cs:14
static int GetElement(string id)
Definition: Core.cs:744
override string GetAlias
Definition: SourceCheck.cs:31
float targetSubFactor
Definition: SourceCheck.cs:17
override bool UseAlias
Definition: SourceCheck.cs:29
override Row CreateRowByMapping(IReadOnlyDictionary< string, int > mapping)
Definition: SourceCheck.cs:79
static readonly IReadOnlyDictionary< string, string > TypeMapping
Definition: SourceCheck.cs:48
override IReadOnlyDictionary< string, string > GetTypeMapping()
Definition: SourceCheck.cs:106
override Row CreateRow()
Definition: SourceCheck.cs:62
static readonly IReadOnlyDictionary< string, int > RowMapping
Definition: SourceCheck.cs:34
override void SetRow(Row r)
Definition: SourceCheck.cs:96
override IReadOnlyDictionary< string, int > GetRowMapping()
Definition: SourceCheck.cs:101
static float GetFloat(int id)
Definition: SourceData.cs:968
static string GetString(int id)
Definition: SourceData.cs:988
static int GetInt(int id)
Definition: SourceData.cs:953
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:993