Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SourceCard.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3
4public class SourceCard : EClass
5{
6 public List<CardRow> rows = new List<CardRow>();
7
8 public Dictionary<string, CardRow> map = new Dictionary<string, CardRow>();
9
10 public Dictionary<string, CardRow> firstVariations = new Dictionary<string, CardRow>();
11
12 public Dictionary<string, TraitCrafter> crafters = new Dictionary<string, TraitCrafter>();
13
14 public void Init()
15 {
16 foreach (SourceThing.Row row in EClass.sources.things.rows)
17 {
18 AddRow(row);
19 }
20 foreach (SourceChara.Row row2 in EClass.sources.charas.rows)
21 {
22 AddRow(row2, isChara: true);
23 }
24 SourceChara.rowDefaultPCC = EClass.sources.charas.map["chara"];
25 }
26
27 public TraitCrafter GetModelCrafter(string id)
28 {
29 return crafters.GetOrCreate(id, () => (map[id].model.trait as TraitCrafter) ?? Trait.SelfFactory);
30 }
31
32 public void AddRow(CardRow row, bool isChara = false)
33 {
34 if (row.id.IsEmpty())
35 {
36 Debug.Log("assf");
37 return;
38 }
39 row.isChara = isChara;
40 row.elementMap = Element.GetElementMap(row.elements);
41 if (row.isChara)
42 {
43 (row as SourceChara.Row).tileType = TileType.Obj;
44 }
45 else
46 {
47 SourceThing.Row row2 = row as SourceThing.Row;
48 if (row2._tileType.IsEmpty())
49 {
50 row2.tileType = TileType.Obj;
51 }
52 else
53 {
54 row2.tileType = TileType.dict[row2._tileType];
55 }
56 }
57 if (!row._origin.IsEmpty())
58 {
59 row.origin = EClass.sources.things.map[row._origin];
60 if (!firstVariations.ContainsKey(row._origin))
61 {
62 firstVariations[row._origin] = row;
63 }
64 row.origin.isOrigin = true;
65 }
66 row.SetRenderData();
67 rows.Add(row);
68 map[row.id] = row;
69 }
70}
int[] elements
Definition: CardRow.cs:21
string _origin
Definition: CardRow.cs:15
bool isChara
Definition: CardRow.cs:55
string id
Definition: CardRow.cs:7
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
static Dictionary< int, int > GetElementMap(int[] list)
Definition: ELEMENT.cs:521
string _tileType
Definition: RenderRow.cs:40
void SetRenderData()
Definition: RenderRow.cs:169
List< CardRow > rows
Definition: SourceCard.cs:6
Dictionary< string, CardRow > map
Definition: SourceCard.cs:8
TraitCrafter GetModelCrafter(string id)
Definition: SourceCard.cs:27
Dictionary< string, TraitCrafter > crafters
Definition: SourceCard.cs:12
void Init()
Definition: SourceCard.cs:14
Dictionary< string, CardRow > firstVariations
Definition: SourceCard.cs:10
void AddRow(CardRow row, bool isChara=false)
Definition: SourceCard.cs:32
SourceThing things
SourceChara charas
static TileTypeObj Obj
Definition: TileType.cs:69
static Dictionary< string, TileType > dict
Definition: TileType.cs:117
Definition: Trait.cs:7
static TraitSelfFactory SelfFactory
Definition: Trait.cs:24