Elin Decompiled Documentation EA 23.326 Nightly
Loading...
Searching...
No Matches
RecipeManager Class Reference
Inheritance diagram for RecipeManager:
EClass

Public Types

enum  LearnState { Unavailable , InsufficientSkill , AlreadyLearned , Learnable }
 

Public Member Functions

RecipeSource GetSource (string id)
 
void Add (string id, bool showEffect=true)
 
bool IsKnown (string id)
 
List< RecipeSourceListSources (Thing factory, List< RecipeSource > newRecipes=null)
 
void OnSleep (bool ehe=false)
 
void ComeUpWithRandomRecipe (string idCat=null, int lvBonus=0)
 
LearnState GetRecipeLearnState (string idRecipe)
 
void ComeUpWithRecipe (string idRecipe, int chanceForRandomRecipe=0)
 
void OnVersionUpdate ()
 

Static Public Member Functions

static void BuildList ()
 
static void Create (RenderRow row, string type, string suffix="")
 
static RecipeSource Get (string id)
 
static RecipeSource GetUnlearnedRecipe (int lvBonus, string cat, bool onlyUnlearned)
 
static RecipeSource GetLearnedRecipe (string cat=null)
 
static string GetRandomRecipe (int lvBonus, string cat=null, bool onlyUnlearned=false)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Public Attributes

HashSet< string > knownIngredients = new HashSet<string>()
 
HashSet< string > craftedRecipes = new HashSet<string>()
 
Dictionary< string, int > knownRecipes = new Dictionary<string, int>()
 
HashSet< string > hoveredRecipes = new HashSet<string>()
 
HashSet< string > newRecipes = new HashSet<string>()
 
Dictionary< string, List< int > > lastIngredients = new Dictionary<string, List<int>>()
 

Static Public Attributes

static bool rebuild
 
static List< RecipeSourcelist = new List<RecipeSource>()
 
static Dictionary< string, RecipeSourcedict = new Dictionary<string, RecipeSource>()
 
- Static Public Attributes inherited from EClass
static Core core
 

Additional Inherited Members

- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Detailed Description

Definition at line 6 of file RecipeManager.cs.

Member Enumeration Documentation

◆ LearnState

Enumerator
Unavailable 
InsufficientSkill 
AlreadyLearned 
Learnable 

Definition at line 8 of file RecipeManager.cs.

Member Function Documentation

◆ Add()

void RecipeManager.Add ( string  id,
bool  showEffect = true 
)
inline

Definition at line 131 of file RecipeManager.cs.

132 {
133 if (id.IsEmpty())
134 {
135 return;
136 }
137 RecipeSource recipeSource = Get(id);
138 if (recipeSource == null)
139 {
140 return;
141 }
142 if (!knownRecipes.ContainsKey(id))
143 {
144 newRecipes.Add(id);
145 knownRecipes[id] = 0;
146 }
147 knownRecipes[id]++;
148 int num = knownRecipes[id];
149 if (showEffect)
150 {
151 EClass.pc.PlaySound("idea");
152 EClass.pc.ShowEmo(Emo.idea, 0.5f, skipSame: false);
153 }
154 EClass.pc.Say("learnRecipe" + ((num == 1) ? "New" : ""), dict[id].Name.ToTitleCase(), num.ToString() ?? "");
155 if (num == 1 && !recipeSource.isBridgePillar)
156 {
157 if (recipeSource.NeedFactory)
158 {
159 EClass.pc.Say("recipe_factory", recipeSource.NameFactory);
160 }
161 else
162 {
163 EClass.pc.Say("recipe_nofactory");
164 }
165 }
166 recipeSource = Get(id + "-p");
167 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
168 {
169 Add(recipeSource.id, showEffect: false);
170 }
171 recipeSource = Get(id.Replace("-p", ""));
172 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
173 {
174 Add(recipeSource.id, showEffect: false);
175 }
176 if (recipeSource.row.category == "floor")
177 {
178 recipeSource = Get(id + "-b");
179 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
180 {
181 Add(recipeSource.id, showEffect: false);
182 }
183 recipeSource = Get(id.Replace("-b", ""));
184 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
185 {
186 Add(recipeSource.id, showEffect: false);
187 }
188 }
189 }
Emo
Definition: Emo.cs:2
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6602
void ShowEmo(Emo _emo=Emo.none, float duration=0f, bool skipSame=true)
Definition: Card.cs:6570
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7280
Definition: EClass.cs:6
static Chara pc
Definition: EClass.cs:15
static RecipeSource Get(string id)
static Dictionary< string, RecipeSource > dict
Dictionary< string, int > knownRecipes
void Add(string id, bool showEffect=true)
HashSet< string > newRecipes
RenderRow row
Definition: RecipeSource.cs:5
string NameFactory
Definition: RecipeSource.cs:75
bool isBridgePillar
Definition: RecipeSource.cs:15
bool NeedFactory
Definition: RecipeSource.cs:63
string category
Definition: RenderRow.cs:46

References Add(), RenderRow.category, dict, Get(), RecipeSource.id, RecipeSource.isBridgePillar, knownRecipes, RecipeSource.NameFactory, RecipeSource.NeedFactory, newRecipes, EClass.pc, Card.PlaySound(), RecipeSource.row, Card.Say(), and Card.ShowEmo().

Referenced by Add(), ComeUpWithRandomRecipe(), ComeUpWithRecipe(), ListSources(), TraitRecipe.OnRead(), TraitRecipeCat.OnRead(), OnSleep(), and ResearchPlan.ParseReward().

◆ BuildList()

static void RecipeManager.BuildList ( )
inlinestatic

Definition at line 40 of file RecipeManager.cs.

41 {
42 if (!rebuild && list.Count > 0)
43 {
44 return;
45 }
46 Debug.Log("Rebuilding recipe list");
47 list.Clear();
48 dict.Clear();
49 foreach (CardRow row in EClass.sources.cards.rows)
50 {
51 if (!row.isOrigin)
52 {
53 Create(row, "", row.isChara ? "-c" : "");
54 }
55 }
56 foreach (SourceBlock.Row row2 in EClass.sources.blocks.rows)
57 {
58 Create(row2, "Block");
59 if (row2.tileType == TileType.Pillar)
60 {
61 Create(row2, "BridgePillar", "-p");
62 }
63 }
64 foreach (SourceFloor.Row row3 in EClass.sources.floors.rows)
65 {
66 if (!row3.tag.Contains("noFloor"))
67 {
68 Create(row3, "Floor");
69 }
70 }
71 foreach (SourceFloor.Row row4 in EClass.sources.floors.rows)
72 {
73 if (!row4.tag.Contains("noBridge") && !row4.factory.IsEmpty() && row4.factory[0] != "x")
74 {
75 Create(row4, "Bridge", "-b");
76 }
77 }
78 foreach (SourceDeco.Row row5 in EClass.sources.decos.rows)
79 {
80 Create(row5, "Deco");
81 }
82 foreach (SourceObj.Row row6 in EClass.sources.objs.rows)
83 {
84 Create(row6, "Obj");
85 }
86 foreach (SourceCellEffect.Row row7 in EClass.sources.cellEffects.rows)
87 {
88 Create(row7, "Liquid");
89 }
90 rebuild = false;
91 }
bool isChara
Definition: CardRow.cs:55
bool isOrigin
Definition: CardRow.cs:52
static SourceManager sources
Definition: EClass.cs:43
static bool rebuild
static List< RecipeSource > list
static void Create(RenderRow row, string type, string suffix="")
List< CardRow > rows
Definition: SourceCard.cs:7
SourceCard cards
SourceObj objs
SourceDeco decos
SourceCellEffect cellEffects
SourceBlock blocks
SourceFloor floors
static TileTypePillar Pillar
Definition: TileType.cs:41

References SourceManager.blocks, SourceManager.cards, SourceManager.cellEffects, Create(), Debug, SourceManager.decos, dict, SourceManager.floors, CardRow.isChara, CardRow.isOrigin, list, SourceManager.objs, TileType.Pillar, rebuild, SourceCard.rows, and EClass.sources.

Referenced by BuildMenu._Search(), BuildMenu.Activate(), Map.DropBlockComponent(), Recipe.DropIngredients(), GetUnlearnedRecipe(), ListSources(), CraftUtil.MakeDish(), Game.OnGameInstantiated(), HotItemHeld.OnSetCurrentItem(), LayerCraft.RefreshCategory(), and WidgetCodex.Search().

◆ ComeUpWithRandomRecipe()

void RecipeManager.ComeUpWithRandomRecipe ( string  idCat = null,
int  lvBonus = 0 
)
inline

Definition at line 260 of file RecipeManager.cs.

261 {
262 string randomRecipe = GetRandomRecipe(lvBonus, idCat, onlyUnlearned: true);
263 if (randomRecipe != null)
264 {
265 Msg.Say("learnRecipeIdea");
266 Add(randomRecipe);
267 }
268 }
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
static string GetRandomRecipe(int lvBonus, string cat=null, bool onlyUnlearned=false)

References Add(), GetRandomRecipe(), and Msg.Say().

Referenced by TraitShrine._OnUse(), ComeUpWithRecipe(), and RecipeCard.Craft().

◆ ComeUpWithRecipe()

void RecipeManager.ComeUpWithRecipe ( string  idRecipe,
int  chanceForRandomRecipe = 0 
)
inline

Definition at line 293 of file RecipeManager.cs.

294 {
295 if (idRecipe.IsEmpty())
296 {
297 return;
298 }
299 RecipeSource recipeSource = Get(idRecipe);
300 int num = EClass.pc.Evalue(1661);
301 if (EClass.rnd((num >= 2) ? 5 : ((num == 1) ? 8 : 10)) != 0 && !EClass.debug.enable)
302 {
303 return;
304 }
305 if (recipeSource == null || EClass.player.recipes.knownRecipes.ContainsKey(idRecipe) || (!recipeSource.NeedFactory && !recipeSource.IsQuickCraft))
306 {
307 if (recipeSource != null && chanceForRandomRecipe > 0 && EClass.rnd(EClass.debug.enable ? 1 : chanceForRandomRecipe) == 0)
308 {
309 ComeUpWithRandomRecipe(recipeSource.row.Category.id);
310 }
311 return;
312 }
313 int id = recipeSource.GetReqSkill().id;
314 if (EClass.pc.Evalue(id) + 5 < recipeSource.row.LV)
315 {
316 Msg.Say("recipeReqLv", EClass.sources.elements.map[id].GetName());
317 return;
318 }
319 Msg.Say("learnRecipeIdea");
320 Add(idRecipe);
321 }
int Evalue(int ele)
Definition: Card.cs:2704
bool enable
Definition: CoreDebug.cs:301
static int rnd(long a)
Definition: EClass.cs:59
static Player player
Definition: EClass.cs:13
static CoreDebug debug
Definition: EClass.cs:49
int id
Definition: ELEMENT.cs:259
RecipeManager recipes
Definition: Player.cs:1164
void ComeUpWithRandomRecipe(string idCat=null, int lvBonus=0)
Element GetReqSkill()
bool IsQuickCraft
Definition: RecipeSource.cs:51
SourceCategory.Row Category
Definition: RenderRow.cs:119
int LV
Definition: RenderRow.cs:22
SourceElement elements

References Add(), RenderRow.Category, ComeUpWithRandomRecipe(), EClass.debug, SourceManager.elements, CoreDebug.enable, Card.Evalue(), Get(), RecipeSource.GetReqSkill(), Element.id, RecipeSource.IsQuickCraft, knownRecipes, RenderRow.LV, RecipeSource.NeedFactory, EClass.pc, EClass.player, Player.recipes, EClass.rnd(), RecipeSource.row, Msg.Say(), and EClass.sources.

Referenced by TaskHarvest.OnCreateProgress(), TaskDig.OnProgressComplete(), and TaskMine.OnProgressComplete().

◆ Create()

static void RecipeManager.Create ( RenderRow  row,
string  type,
string  suffix = "" 
)
inlinestatic

Definition at line 93 of file RecipeManager.cs.

94 {
95 RecipeSource recipeSource = new RecipeSource();
96 recipeSource.id = row.RecipeID + suffix;
97 recipeSource.isBridge = type == "Bridge";
98 recipeSource.isBridgePillar = type == "BridgePillar";
99 recipeSource.type = type;
100 recipeSource.row = row;
101 recipeSource.isChara = row is SourceChara.Row;
102 if (!row.factory.IsEmpty() && row.factory[0] == "x")
103 {
104 recipeSource.noListing = true;
105 }
106 list.Add(recipeSource);
107 dict[recipeSource.id] = recipeSource;
108 _ = row.components;
109 try
110 {
111 Recipe.Create(recipeSource).BuildIngredientList();
112 }
113 catch (Exception ex)
114 {
115 list.Remove(recipeSource);
116 dict.Remove(recipeSource.id);
117 Debug.LogWarning($"Failed to create recipe '{row.RecipeID}' '{type}{suffix}'\n{ex}");
118 }
119 }
Definition: Recipe.cs:7
static Recipe Create(RecipeSource _source, int idMat=-1, Thing ing=null)
Definition: Recipe.cs:325
virtual void BuildIngredientList()
Definition: Recipe.cs:539
string[] factory
Definition: RenderRow.cs:54
string[] components
Definition: RenderRow.cs:52

References $, Recipe.BuildIngredientList(), RenderRow.components, Recipe.Create(), Debug, dict, RenderRow.factory, RecipeSource.id, and list.

Referenced by BuildList().

◆ Get()

static RecipeSource RecipeManager.Get ( string  id)
inlinestatic

Definition at line 121 of file RecipeManager.cs.

122 {
123 return dict.TryGetValue(id);
124 }

References dict.

Referenced by Add(), ComeUpWithRecipe(), Map.DropBlockComponent(), GetLearnedRecipe(), GetRecipeLearnState(), CraftUtil.MakeDish(), and LayerCraftFloat.RefreshDisassemble().

◆ GetLearnedRecipe()

static RecipeSource RecipeManager.GetLearnedRecipe ( string  cat = null)
inlinestatic

Definition at line 337 of file RecipeManager.cs.

338 {
339 List<RecipeSource> list = new List<RecipeSource>();
340 foreach (string key in EClass.player.recipes.knownRecipes.Keys)
341 {
342 RecipeSource recipeSource = Get(key);
343 if (recipeSource != null && recipeSource.row is SourceThing.Row && !recipeSource.noRandomRecipe && (recipeSource.NeedFactory || recipeSource.IsQuickCraft) && (cat == null || recipeSource.row.Category.IsChildOf(cat)))
344 {
345 list.Add(recipeSource);
346 }
347 }
348 return list.RandomItemWeighted((RecipeSource r) => (r.row.chance == 0) ? 100 : r.row.chance);
349 }
bool noRandomRecipe
Definition: RecipeSource.cs:25
int chance
Definition: RenderRow.cs:24

References RenderRow.Category, RenderRow.chance, Get(), RecipeSource.IsQuickCraft, knownRecipes, list, RecipeSource.NeedFactory, RecipeSource.noRandomRecipe, EClass.player, Player.recipes, and RecipeSource.row.

Referenced by GetRandomRecipe().

◆ GetRandomRecipe()

static string RecipeManager.GetRandomRecipe ( int  lvBonus,
string  cat = null,
bool  onlyUnlearned = false 
)
inlinestatic

Definition at line 351 of file RecipeManager.cs.

352 {
353 RecipeSource recipeSource = null;
354 recipeSource = GetUnlearnedRecipe(lvBonus, cat, onlyUnlearned);
355 if (recipeSource == null)
356 {
357 recipeSource = GetLearnedRecipe(cat);
358 }
359 return recipeSource?.id;
360 }
static RecipeSource GetLearnedRecipe(string cat=null)
static RecipeSource GetUnlearnedRecipe(int lvBonus, string cat, bool onlyUnlearned)

References GetLearnedRecipe(), GetUnlearnedRecipe(), and RecipeSource.id.

Referenced by ComeUpWithRandomRecipe(), TraitRecipe.OnCreate(), TraitRecipeCat.OnRead(), and OnSleep().

◆ GetRecipeLearnState()

LearnState RecipeManager.GetRecipeLearnState ( string  idRecipe)
inline

Definition at line 270 of file RecipeManager.cs.

271 {
272 if (idRecipe.IsEmpty())
273 {
274 return LearnState.Unavailable;
275 }
276 RecipeSource recipeSource = Get(idRecipe);
277 if (recipeSource == null || (!recipeSource.NeedFactory && !recipeSource.IsQuickCraft))
278 {
279 return LearnState.Unavailable;
280 }
281 if (EClass.player.recipes.knownRecipes.ContainsKey(idRecipe))
282 {
283 return LearnState.AlreadyLearned;
284 }
285 int id = recipeSource.GetReqSkill().id;
286 if (EClass.pc.Evalue(id) + 5 < recipeSource.row.LV)
287 {
288 return LearnState.InsufficientSkill;
289 }
290 return LearnState.Learnable;
291 }

References Card.Evalue(), Get(), RecipeSource.GetReqSkill(), Element.id, RecipeSource.IsQuickCraft, knownRecipes, RenderRow.LV, RecipeSource.NeedFactory, EClass.pc, EClass.player, Player.recipes, and RecipeSource.row.

Referenced by BaseTaskHarvest.GetText().

◆ GetSource()

RecipeSource RecipeManager.GetSource ( string  id)
inline

Definition at line 126 of file RecipeManager.cs.

127 {
128 return dict.TryGetValue(id);
129 }

References dict.

Referenced by AM_Picker.TryGetRecipe().

◆ GetUnlearnedRecipe()

static RecipeSource RecipeManager.GetUnlearnedRecipe ( int  lvBonus,
string  cat,
bool  onlyUnlearned 
)
inlinestatic

Definition at line 323 of file RecipeManager.cs.

324 {
325 BuildList();
326 List<RecipeSource> list = new List<RecipeSource>();
328 {
329 if (!item.alwaysKnown && !item.noRandomRecipe && (item.NeedFactory || item.IsQuickCraft) && (cat == null || item.row.Category.IsChildOf(cat)) && (!onlyUnlearned || !EClass.player.recipes.knownRecipes.ContainsKey(item.id)) && EClass.pc.Evalue(item.GetReqSkill().id) + 5 + lvBonus >= item.row.LV && !item.row.ContainsTag("hiddenRecipe"))
330 {
331 list.Add(item);
332 }
333 }
334 return list.RandomItemWeighted((RecipeSource r) => (r.row.chance == 0) ? 100 : r.row.chance);
335 }
static void BuildList()

References BuildList(), RenderRow.chance, Card.Evalue(), item, knownRecipes, list, EClass.pc, EClass.player, Player.recipes, and RecipeSource.row.

Referenced by GetRandomRecipe().

◆ IsKnown()

bool RecipeManager.IsKnown ( string  id)
inline

Definition at line 191 of file RecipeManager.cs.

192 {
194 {
195 return EClass.player.recipes.knownRecipes.ContainsKey(id);
196 }
197 return true;
198 }
bool allRecipe
Definition: CoreDebug.cs:248

References CoreDebug.allRecipe, EClass.debug, knownRecipes, EClass.player, and Player.recipes.

Referenced by AM_Picker.Result.GetText(), and BuildMenu.RefreshCategory().

◆ ListSources()

List< RecipeSource > RecipeManager.ListSources ( Thing  factory,
List< RecipeSource newRecipes = null 
)
inline

Definition at line 200 of file RecipeManager.cs.

201 {
202 BuildList();
203 List<RecipeSource> list = new List<RecipeSource>();
205 {
206 if (item.isBridgePillar || (factory == null && item.idFactory != "self") || (factory != null && !factory.trait.Contains(item)) || item.isChara || item.noListing)
207 {
208 continue;
209 }
210 if (!EClass.debug.godCraft && !EClass.player.recipes.knownRecipes.ContainsKey(item.id))
211 {
212 bool flag = false;
213 if (item.row.recipeKey != null && item.row.recipeKey.Length != 0 && item.row.recipeKey[0][0] == '*')
214 {
215 flag = true;
216 }
217 string id = item.id;
218 if (!(id == "waystone"))
219 {
220 if (id == "container_shipping" && EClass.game.quests.GetPhase<QuestShippingChest>() >= 0)
221 {
222 flag = true;
223 }
224 }
225 else if (EClass.game.quests.GetPhase<QuestExploration>() >= 6)
226 {
227 flag = true;
228 }
229 if (!flag)
230 {
231 continue;
232 }
233 if (newRecipes != null)
234 {
236 if (EClass.player.recipes.newRecipes.Contains(item.id))
237 {
238 newRecipes.Add(item);
240 }
241 }
242 }
243 list.Add(item);
244 }
245 return list;
246 }
Trait trait
Definition: Card.cs:54
bool godCraft
Definition: CoreDebug.cs:196
static Game game
Definition: EClass.cs:9
QuestManager quests
Definition: Game.cs:183
int GetPhase(string id)
virtual bool Contains(RecipeSource r)
Definition: Trait.cs:615

References Add(), BuildList(), EClass.debug, EClass.game, QuestManager.GetPhase(), CoreDebug.godCraft, item, knownRecipes, list, newRecipes, EClass.player, Game.quests, and Player.recipes.

Referenced by TraitCrafter.OnUse(), LayerCraft.RefreshCategory(), and TraitCrafter.TrySetAct().

◆ OnSleep()

void RecipeManager.OnSleep ( bool  ehe = false)
inline

Definition at line 248 of file RecipeManager.cs.

249 {
250 int slept = EClass.player.stats.slept;
251 Rand.SetSeed(EClass.game.seed + slept);
252 if ((slept <= 3 || EClass.rnd(ehe ? 777 : 3) != 0) && (EClass.rnd(EClass.pc.Evalue(1642) + 1) > 0 || ((slept <= 15 || EClass.rnd(3) != 0) && (slept <= 30 || EClass.rnd(3) != 0) && (slept <= 60 || EClass.rnd(3) != 0))))
253 {
254 Msg.Say("learnRecipeSleep");
255 Rand.SetSeed();
256 Add(GetRandomRecipe((ehe ? 5 : 0) + EClass.rnd(EClass.rnd(EClass.rnd(10)))));
257 }
258 }
int seed
Definition: Game.cs:201
int slept
Definition: Player.cs:102
Stats stats
Definition: Player.cs:1083
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:44

References Add(), Card.Evalue(), EClass.game, GetRandomRecipe(), EClass.pc, EClass.player, EClass.rnd(), Msg.Say(), Game.seed, Rand.SetSeed(), Player.Stats.slept, and Player.stats.

Referenced by ConSleep.OnRemoved().

◆ OnVersionUpdate()

void RecipeManager.OnVersionUpdate ( )
inline

Definition at line 362 of file RecipeManager.cs.

363 {
364 EClass.pc.things.Foreach(delegate(Thing t)
365 {
366 knownIngredients.Add(t.id);
367 });
368 knownIngredients.Add("flower");
369 }
string id
Definition: Card.cs:36
ThingContainer things
Definition: Card.cs:39
HashSet< string > knownIngredients
void Foreach(Action< Thing > action, bool onlyAccessible=true)
Definition: Thing.cs:8

References ThingContainer.Foreach(), Card.id, knownIngredients, EClass.pc, and Card.things.

Member Data Documentation

◆ craftedRecipes

HashSet<string> RecipeManager.craftedRecipes = new HashSet<string>()

Definition at line 26 of file RecipeManager.cs.

Referenced by Recipe.HasFirstTimeBonus(), and Recipe.TryGetFirstTimeBonus().

◆ dict

Dictionary<string, RecipeSource> RecipeManager.dict = new Dictionary<string, RecipeSource>()
static

◆ hoveredRecipes

HashSet<string> RecipeManager.hoveredRecipes = new HashSet<string>()

◆ knownIngredients

HashSet<string> RecipeManager.knownIngredients = new HashSet<string>()

Definition at line 23 of file RecipeManager.cs.

Referenced by Card.AddThing(), and OnVersionUpdate().

◆ knownRecipes

◆ lastIngredients

Dictionary<string, List<int> > RecipeManager.lastIngredients = new Dictionary<string, List<int>>()

Definition at line 38 of file RecipeManager.cs.

Referenced by DropdownGrid.BuildIngredients(), and Recipe.SaveLastIngredients().

◆ list

◆ newRecipes

HashSet<string> RecipeManager.newRecipes = new HashSet<string>()

Definition at line 35 of file RecipeManager.cs.

Referenced by Add(), and ListSources().

◆ rebuild

bool RecipeManager.rebuild
static

Definition at line 16 of file RecipeManager.cs.

Referenced by BuildList().


The documentation for this class was generated from the following file: