Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
CodexManager.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using Newtonsoft.Json;
3
4public class CodexManager : EClass
5{
6 [JsonProperty]
7 public Dictionary<string, CodexCreature> creatures = new Dictionary<string, CodexCreature>();
8
9 public CodexCreature GetOrCreate(string id)
10 {
11 CodexCreature codexCreature = creatures.TryGetValue(id);
12 if (codexCreature == null)
13 {
14 codexCreature = new CodexCreature
15 {
16 id = id
17 };
18 creatures[id] = codexCreature;
19 }
20 return codexCreature;
21 }
22
23 public void OnLoad()
24 {
25 foreach (KeyValuePair<string, CodexCreature> creature in creatures)
26 {
27 creature.Value.id = creature.Key;
28 }
29 }
30
31 public void AddCard(string id, int num = 1)
32 {
33 GetOrCreate(id).numCard += num;
34 }
35
36 public bool Has(string id)
37 {
38 return creatures.ContainsKey(id);
39 }
40
41 public void MarkCardDrop(string id)
42 {
43 GetOrCreate(id).droppedCard = true;
44 }
45
46 public bool DroppedCard(string id)
47 {
48 if (creatures.ContainsKey(id))
49 {
50 return creatures[id].droppedCard;
51 }
52 return false;
53 }
54
55 public void AddKill(string id)
56 {
57 GetOrCreate(id).kills++;
58 }
59
60 public void AddWeakspot(string id)
61 {
63 }
64
65 public void AddSpawn(string id)
66 {
67 GetOrCreate(id).spawns++;
68 }
69
70 public List<CardRow> ListKills()
71 {
72 List<CardRow> list = new List<CardRow>();
73 foreach (KeyValuePair<string, CodexCreature> creature in creatures)
74 {
75 if (creature.Value.kills > 0)
76 {
77 CardRow cardRow = EClass.sources.cards.map.TryGetValue(creature.Key);
78 if (cardRow != null && !cardRow.HasTag(CTAG.noRandomProduct))
79 {
80 list.Add(cardRow);
81 }
82 }
83 }
84 return list;
85 }
86}
CTAG
Definition: CTAG.cs:2
bool Has(string id)
Definition: CodexManager.cs:36
void OnLoad()
Definition: CodexManager.cs:23
List< CardRow > ListKills()
Definition: CodexManager.cs:70
void AddCard(string id, int num=1)
Definition: CodexManager.cs:31
bool DroppedCard(string id)
Definition: CodexManager.cs:46
void AddSpawn(string id)
Definition: CodexManager.cs:65
CodexCreature GetOrCreate(string id)
Definition: CodexManager.cs:9
void AddWeakspot(string id)
Definition: CodexManager.cs:60
Dictionary< string, CodexCreature > creatures
Definition: CodexManager.cs:7
void AddKill(string id)
Definition: CodexManager.cs:55
void MarkCardDrop(string id)
Definition: CodexManager.cs:41
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
bool HasTag(CTAG _tag)
Definition: RenderRow.cs:125
Dictionary< string, CardRow > map
Definition: SourceCard.cs:8
SourceCard cards