Elin Decompiled Documentation EA 23.182 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 60 of file BookList.cs.

61 {
62 return dict[idCat].TryGetValue(id) ?? dict["Book"]["_default"];
63 }
static Dictionary< string, Dictionary< string, Item > > dict
Definition: BookList.cs:20

References dict.

◆ GetRandomItem()

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

Definition at line 54 of file BookList.cs.

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

References dict.

Referenced by TraitBook.OnCreate().

◆ Init()

static void BookList.Init ( )
inlinestatic

Definition at line 22 of file BookList.cs.

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

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


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