Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
BookList Class Reference

Classes

class  Item
 

Static Public Member Functions

static void Init ()
 
static Item GetRandomItem (string idCat="Book")
 
static Item GetItem (string id, string idCat="Book")
 

Static Public Attributes

static Dictionary< string, Dictionary< string, Item > > dict
 

Detailed Description

Definition at line 5 of file BookList.cs.

Member Function Documentation

◆ GetItem()

static Item BookList.GetItem ( string  id,
string  idCat = "Book" 
)
inlinestatic

Definition at line 57 of file BookList.cs.

58 {
59 return dict[idCat].TryGetValue(id) ?? dict["Book"]["_default"];
60 }
static Dictionary< string, Dictionary< string, Item > > dict
Definition: BookList.cs:18

References dict.

◆ GetRandomItem()

static Item BookList.GetRandomItem ( string  idCat = "Book")
inlinestatic

Definition at line 51 of file BookList.cs.

52 {
53 return dict[idCat].Where((KeyValuePair<string, Item> p) => p.Value.chance != 0).ToList().RandomItem()
54 .Value;
55 }

References dict.

Referenced by TraitBook.OnCreate().

◆ Init()

static void BookList.Init ( )
inlinestatic

Definition at line 20 of file BookList.cs.

21 {
22 dict = new Dictionary<string, Dictionary<string, Item>>();
23 AddDir("Book", CorePath.CorePackage.Book);
24 AddDir("Scroll", CorePath.CorePackage.Scroll);
25 static void AddDir(string id, string path)
26 {
27 DirectoryInfo directoryInfo = new DirectoryInfo(path);
28 Dictionary<string, Item> dictionary = new Dictionary<string, Item>();
29 dict.Add(id, dictionary);
30 FileInfo[] files = directoryInfo.GetFiles();
31 foreach (FileInfo fileInfo in files)
32 {
33 if (!(fileInfo.Extension != ".txt"))
34 {
35 StreamReader streamReader = new StreamReader(fileInfo.FullName);
36 string[] array = streamReader.ReadLine().Split(',');
37 Item item = new Item
38 {
39 title = array[0],
40 author = ((array.Length >= 2 && !array[1].IsEmpty()) ? "nameAuthor".lang(array[1]) : "unknownAuthor".lang()),
41 chance = ((array.Length >= 3) ? array[2].ToInt() : 100),
42 id = fileInfo.Name.Replace(fileInfo.Extension, "")
43 };
44 dictionary.Add(item.id, item);
45 streamReader.Close();
46 }
47 }
48 }
49 }
item3. title
Definition: UIBook.cs:616
static string Scroll
Definition: CorePath.cs:73
static string Book
Definition: CorePath.cs:71

References CorePath.CorePackage.Book, dict, item, CorePath.CorePackage.Scroll, and title.

Referenced by Game.OnGameInstantiated(), and CoreDebug.UpdateAlways().

Member Data Documentation

◆ dict

Dictionary<string, Dictionary<string, Item> > BookList.dict
static

Definition at line 18 of file BookList.cs.

Referenced by GetItem(), GetRandomItem(), and Init().


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