Elin Decompiled Documentation EA 23.221 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 (int a, int start, int step, int rate=75)
 
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 5 of file RecipeManager.cs.

Member Enumeration Documentation

◆ LearnState

Enumerator
Unavailable 
InsufficientSkill 
AlreadyLearned 
Learnable 

Definition at line 7 of file RecipeManager.cs.

Member Function Documentation

◆ Add()

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

Definition at line 113 of file RecipeManager.cs.

114 {
115 if (id.IsEmpty())
116 {
117 return;
118 }
119 RecipeSource recipeSource = Get(id);
120 if (recipeSource == null)
121 {
122 return;
123 }
124 if (!knownRecipes.ContainsKey(id))
125 {
126 newRecipes.Add(id);
127 knownRecipes[id] = 0;
128 }
129 knownRecipes[id]++;
130 int num = knownRecipes[id];
131 if (showEffect)
132 {
133 EClass.pc.PlaySound("idea");
134 EClass.pc.ShowEmo(Emo.idea, 0.5f, skipSame: false);
135 }
136 EClass.pc.Say("learnRecipe" + ((num == 1) ? "New" : ""), dict[id].Name.ToTitleCase(), num.ToString() ?? "");
137 if (num == 1 && !recipeSource.isBridgePillar)
138 {
139 if (recipeSource.NeedFactory)
140 {
141 EClass.pc.Say("recipe_factory", recipeSource.NameFactory);
142 }
143 else
144 {
145 EClass.pc.Say("recipe_nofactory");
146 }
147 }
148 recipeSource = Get(id + "-p");
149 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
150 {
151 Add(recipeSource.id, showEffect: false);
152 }
153 recipeSource = Get(id.Replace("-p", ""));
154 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
155 {
156 Add(recipeSource.id, showEffect: false);
157 }
158 if (recipeSource.row.category == "floor")
159 {
160 recipeSource = Get(id + "-b");
161 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
162 {
163 Add(recipeSource.id, showEffect: false);
164 }
165 recipeSource = Get(id.Replace("-b", ""));
166 if (recipeSource != null && !knownRecipes.ContainsKey(recipeSource.id))
167 {
168 Add(recipeSource.id, showEffect: false);
169 }
170 }
171 }
Emo
Definition: Emo.cs:2
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6009
void ShowEmo(Emo _emo=Emo.none, float duration=0f, bool skipSame=true)
Definition: Card.cs:5977
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6661
Definition: EClass.cs:5
static Chara pc
Definition: EClass.cs:14
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:73
bool isBridgePillar
Definition: RecipeSource.cs:15
bool NeedFactory
Definition: RecipeSource.cs:61
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 39 of file RecipeManager.cs.

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

References SourceManager.blocks, SourceManager.cards, SourceManager.cellEffects, Create(), Debug, dict, RenderRow.factory, 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 242 of file RecipeManager.cs.

243 {
244 string randomRecipe = GetRandomRecipe(lvBonus, idCat, onlyUnlearned: true);
245 if (randomRecipe != null)
246 {
247 Msg.Say("learnRecipeIdea");
248 Add(randomRecipe);
249 }
250 }
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 275 of file RecipeManager.cs.

276 {
277 if (idRecipe.IsEmpty())
278 {
279 return;
280 }
281 RecipeSource recipeSource = Get(idRecipe);
282 int num = EClass.pc.Evalue(1661);
283 if (EClass.rnd((num >= 2) ? 5 : ((num == 1) ? 8 : 10)) != 0 && !EClass.debug.enable)
284 {
285 return;
286 }
287 if (recipeSource == null || EClass.player.recipes.knownRecipes.ContainsKey(idRecipe) || (!recipeSource.NeedFactory && !recipeSource.IsQuickCraft))
288 {
289 if (recipeSource != null && chanceForRandomRecipe > 0 && EClass.rnd(EClass.debug.enable ? 1 : chanceForRandomRecipe) == 0)
290 {
291 ComeUpWithRandomRecipe(recipeSource.row.Category.id);
292 }
293 return;
294 }
295 int id = recipeSource.GetReqSkill().id;
296 if (EClass.pc.Evalue(id) + 5 < recipeSource.row.LV)
297 {
298 Msg.Say("recipeReqLv", EClass.sources.elements.map[id].GetName());
299 return;
300 }
301 Msg.Say("learnRecipeIdea");
302 Add(idRecipe);
303 }
int Evalue(int ele)
Definition: Card.cs:2559
bool enable
Definition: CoreDebug.cs:286
static int rnd(long a)
Definition: EClass.cs:58
static Player player
Definition: EClass.cs:12
static CoreDebug debug
Definition: EClass.cs:48
int id
Definition: ELEMENT.cs:250
RecipeManager recipes
Definition: Player.cs:1094
void ComeUpWithRandomRecipe(string idCat=null, int lvBonus=0)
Element GetReqSkill()
bool IsQuickCraft
Definition: RecipeSource.cs:49
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 88 of file RecipeManager.cs.

89 {
90 RecipeSource recipeSource = new RecipeSource();
91 recipeSource.id = row.RecipeID + suffix;
92 recipeSource.isBridge = type == "Bridge";
93 recipeSource.isBridgePillar = type == "BridgePillar";
94 recipeSource.type = type;
95 recipeSource.row = row;
96 recipeSource.isChara = row is SourceChara.Row;
97 list.Add(recipeSource);
98 dict[recipeSource.id] = recipeSource;
99 _ = row.components;
100 Recipe.Create(recipeSource).BuildIngredientList();
101 }
Definition: Recipe.cs:7
static Recipe Create(RecipeSource _source, int idMat=-1, Thing ing=null)
Definition: Recipe.cs:326
virtual void BuildIngredientList()
Definition: Recipe.cs:527
string[] components
Definition: RenderRow.cs:52

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

Referenced by BuildList().

◆ Get()

static RecipeSource RecipeManager.Get ( string  id)
inlinestatic

Definition at line 103 of file RecipeManager.cs.

104 {
105 return dict.TryGetValue(id);
106 }

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 319 of file RecipeManager.cs.

320 {
321 List<RecipeSource> list = new List<RecipeSource>();
322 foreach (string key in EClass.player.recipes.knownRecipes.Keys)
323 {
324 RecipeSource recipeSource = Get(key);
325 if (recipeSource != null && recipeSource.row is SourceThing.Row && (recipeSource.NeedFactory || recipeSource.IsQuickCraft) && (cat == null || recipeSource.row.Category.IsChildOf(cat)))
326 {
327 list.Add(recipeSource);
328 }
329 }
330 return list.RandomItemWeighted((RecipeSource r) => (r.row.chance == 0) ? 100 : r.row.chance);
331 }
int chance
Definition: RenderRow.cs:24

References RenderRow.Category, RenderRow.chance, Get(), RecipeSource.IsQuickCraft, knownRecipes, list, RecipeSource.NeedFactory, 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 333 of file RecipeManager.cs.

334 {
335 RecipeSource recipeSource = null;
336 recipeSource = GetUnlearnedRecipe(lvBonus, cat, onlyUnlearned);
337 if (recipeSource == null)
338 {
339 recipeSource = GetLearnedRecipe(cat);
340 }
341 return recipeSource?.id;
342 }
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 252 of file RecipeManager.cs.

253 {
254 if (idRecipe.IsEmpty())
255 {
256 return LearnState.Unavailable;
257 }
258 RecipeSource recipeSource = Get(idRecipe);
259 if (recipeSource == null || (!recipeSource.NeedFactory && !recipeSource.IsQuickCraft))
260 {
261 return LearnState.Unavailable;
262 }
263 if (EClass.player.recipes.knownRecipes.ContainsKey(idRecipe))
264 {
265 return LearnState.AlreadyLearned;
266 }
267 int id = recipeSource.GetReqSkill().id;
268 if (EClass.pc.Evalue(id) + 5 < recipeSource.row.LV)
269 {
270 return LearnState.InsufficientSkill;
271 }
272 return LearnState.Learnable;
273 }

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 108 of file RecipeManager.cs.

109 {
110 return dict.TryGetValue(id);
111 }

References dict.

Referenced by AM_Picker.TryGetRecipe().

◆ GetUnlearnedRecipe()

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

Definition at line 305 of file RecipeManager.cs.

306 {
307 BuildList();
308 List<RecipeSource> list = new List<RecipeSource>();
310 {
311 if (!item.alwaysKnown && (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"))
312 {
313 list.Add(item);
314 }
315 }
316 return list.RandomItemWeighted((RecipeSource r) => (r.row.chance == 0) ? 100 : r.row.chance);
317 }
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 173 of file RecipeManager.cs.

174 {
176 {
177 return EClass.player.recipes.knownRecipes.ContainsKey(id);
178 }
179 return true;
180 }
bool allRecipe
Definition: CoreDebug.cs:233

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 182 of file RecipeManager.cs.

183 {
184 BuildList();
185 List<RecipeSource> list = new List<RecipeSource>();
187 {
188 if (item.isBridgePillar || (factory == null && item.idFactory != "self") || (factory != null && !factory.trait.Contains(item)) || item.isChara || item.noListing)
189 {
190 continue;
191 }
192 if (!EClass.debug.godCraft && !EClass.player.recipes.knownRecipes.ContainsKey(item.id))
193 {
194 bool flag = false;
195 if (item.row.recipeKey != null && item.row.recipeKey.Length != 0 && item.row.recipeKey[0][0] == '*')
196 {
197 flag = true;
198 }
199 string id = item.id;
200 if (!(id == "waystone"))
201 {
202 if (id == "container_shipping" && EClass.game.quests.GetPhase<QuestShippingChest>() >= 0)
203 {
204 flag = true;
205 }
206 }
207 else if (EClass.game.quests.GetPhase<QuestExploration>() >= 6)
208 {
209 flag = true;
210 }
211 if (!flag)
212 {
213 continue;
214 }
215 if (newRecipes != null)
216 {
218 if (EClass.player.recipes.newRecipes.Contains(item.id))
219 {
220 newRecipes.Add(item);
222 }
223 }
224 }
225 list.Add(item);
226 }
227 return list;
228 }
Trait trait
Definition: Card.cs:53
bool godCraft
Definition: CoreDebug.cs:181
static Game game
Definition: EClass.cs:8
QuestManager quests
Definition: Game.cs:179
virtual bool Contains(RecipeSource r)
Definition: Trait.cs:580

References Add(), BuildList(), EClass.debug, EClass.game, 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 230 of file RecipeManager.cs.

231 {
232 int slept = EClass.player.stats.slept;
233 Rand.SetSeed(EClass.game.seed + slept);
234 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))))
235 {
236 Msg.Say("learnRecipeSleep");
237 Rand.SetSeed();
238 Add(GetRandomRecipe((ehe ? 5 : 0) + EClass.rnd(EClass.rnd(EClass.rnd(10)))));
239 }
240 }
int seed
Definition: Game.cs:197
int slept
Definition: Player.cs:102
Stats stats
Definition: Player.cs:1013
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37

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 344 of file RecipeManager.cs.

345 {
346 EClass.pc.things.Foreach(delegate(Thing t)
347 {
348 knownIngredients.Add(t.id);
349 });
350 knownIngredients.Add("flower");
351 }
string id
Definition: Card.cs:35
ThingContainer things
Definition: Card.cs:38
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 25 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 22 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 37 of file RecipeManager.cs.

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

◆ list

◆ newRecipes

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

Definition at line 34 of file RecipeManager.cs.

Referenced by Add(), and ListSources().

◆ rebuild

bool RecipeManager.rebuild
static

Definition at line 15 of file RecipeManager.cs.

Referenced by BuildList().


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