Elin Decompiled Documentation EA 23.315 Nightly
Loading...
Searching...
No Matches
SourceMaterial Class Reference
Inheritance diagram for SourceMaterial:
SourceDataInt< SourceMaterial.Row >

Classes

class  Row
 
class  Tier
 
class  TierList
 

Public Member Functions

override Row CreateRow ()
 
override Row CreateRowByMapping (IReadOnlyDictionary< string, int > mapping)
 
override void SetRow (Row r)
 
override IReadOnlyDictionary< string, int > GetRowMapping ()
 
override IReadOnlyDictionary< string, string > GetTypeMapping ()
 
override void OnInit ()
 
override void OnAfterImportData ()
 
void OnImportRow (Row r)
 
- Public Member Functions inherited from SourceDataInt< SourceMaterial.Row >
override T GetRow (string id)
 

Static Public Attributes

static readonly IReadOnlyDictionary< string, int > RowMapping
 
static readonly IReadOnlyDictionary< string, string > TypeMapping
 
static Dictionary< string, TierListtierMap = new Dictionary<string, TierList>()
 

Properties

override string[] ImportFields [get]
 

Detailed Description

Definition at line 6 of file SourceMaterial.cs.

Member Function Documentation

◆ CreateRow()

override Row SourceMaterial.CreateRow ( )
inline

Definition at line 407 of file SourceMaterial.cs.

408 {
409 return new Row
410 {
411 id = SourceData.GetInt(0),
412 alias = SourceData.GetString(1),
413 name_JP = SourceData.GetString(2),
414 name = SourceData.GetString(3),
415 category = SourceData.GetString(4),
416 tag = SourceData.GetStringArray(5),
417 thing = SourceData.GetString(6),
418 goods = SourceData.GetStringArray(7),
419 minerals = SourceData.GetStringArray(8),
420 decal = SourceData.GetInt(9),
421 decay = SourceData.GetInt(10),
422 grass = SourceData.GetInt(11),
423 defFloor = SourceData.GetInt(12),
424 defBlock = SourceData.GetInt(13),
425 edge = SourceData.GetInt(14),
426 ramp = SourceData.GetInt(15),
427 idSound = SourceData.GetString(16),
428 soundFoot = SourceData.GetString(17),
429 hardness = SourceData.GetInt(18),
430 groups = SourceData.GetStringArray(19),
431 tier = SourceData.GetInt(20),
432 chance = SourceData.GetInt(21),
433 weight = SourceData.GetInt(22),
434 value = SourceData.GetInt(23),
435 quality = SourceData.GetInt(24),
436 atk = SourceData.GetInt(25),
437 dmg = SourceData.GetInt(26),
438 dv = SourceData.GetInt(27),
439 pv = SourceData.GetInt(28),
440 dice = SourceData.GetInt(29),
441 bits = SourceData.GetStringArray(30),
442 elements = Core.ParseElements(SourceData.GetStr(31)),
443 altName = SourceData.GetStringArray(32),
444 altName_JP = SourceData.GetStringArray(33)
445 };
446 }
Definition: Core.cs:14
static int[] ParseElements(string str)
Definition: Core.cs:726
static string[] GetStringArray(int id)
Definition: SourceData.cs:1011
static string GetString(int id)
Definition: SourceData.cs:1016
static int GetInt(int id)
Definition: SourceData.cs:981
static string GetStr(int id, bool useDefault=false)
Definition: SourceData.cs:1021

References SourceData< T, T2 >.GetInt(), SourceData< T, T2 >.GetStr(), SourceData< T, T2 >.GetString(), SourceData< T, T2 >.GetStringArray(), and Core.ParseElements().

◆ CreateRowByMapping()

override Row SourceMaterial.CreateRowByMapping ( IReadOnlyDictionary< string, int >  mapping)
inline

Definition at line 448 of file SourceMaterial.cs.

449 {
450 return new Row
451 {
452 id = SourceData.GetInt(mapping["id"]),
453 alias = SourceData.GetString(mapping["alias"]),
454 name_JP = SourceData.GetString(mapping["name_JP"]),
455 name = SourceData.GetString(mapping["name"]),
456 category = SourceData.GetString(mapping["category"]),
457 tag = SourceData.GetStringArray(mapping["tag"]),
458 thing = SourceData.GetString(mapping["thing"]),
459 goods = SourceData.GetStringArray(mapping["goods"]),
460 minerals = SourceData.GetStringArray(mapping["minerals"]),
461 decal = SourceData.GetInt(mapping["decal"]),
462 decay = SourceData.GetInt(mapping["decay"]),
463 grass = SourceData.GetInt(mapping["grass"]),
464 defFloor = SourceData.GetInt(mapping["defFloor"]),
465 defBlock = SourceData.GetInt(mapping["defBlock"]),
466 edge = SourceData.GetInt(mapping["edge"]),
467 ramp = SourceData.GetInt(mapping["ramp"]),
468 idSound = SourceData.GetString(mapping["idSound"]),
469 soundFoot = SourceData.GetString(mapping["soundFoot"]),
470 hardness = SourceData.GetInt(mapping["hardness"]),
471 groups = SourceData.GetStringArray(mapping["groups"]),
472 tier = SourceData.GetInt(mapping["tier"]),
473 chance = SourceData.GetInt(mapping["chance"]),
474 weight = SourceData.GetInt(mapping["weight"]),
475 value = SourceData.GetInt(mapping["value"]),
476 quality = SourceData.GetInt(mapping["quality"]),
477 atk = SourceData.GetInt(mapping["atk"]),
478 dmg = SourceData.GetInt(mapping["dmg"]),
479 dv = SourceData.GetInt(mapping["dv"]),
480 pv = SourceData.GetInt(mapping["pv"]),
481 dice = SourceData.GetInt(mapping["dice"]),
482 bits = SourceData.GetStringArray(mapping["bits"]),
483 elements = Core.ParseElements(SourceData.GetStr(mapping["elements"])),
484 altName = SourceData.GetStringArray(mapping["altName"]),
485 altName_JP = SourceData.GetStringArray(mapping["altName_JP"])
486 };
487 }

References SourceData< T, T2 >.GetInt(), SourceData< T, T2 >.GetStr(), SourceData< T, T2 >.GetString(), SourceData< T, T2 >.GetStringArray(), and Core.ParseElements().

◆ GetRowMapping()

override IReadOnlyDictionary< string, int > SourceMaterial.GetRowMapping ( )
inline

Definition at line 494 of file SourceMaterial.cs.

495 {
496 return RowMapping;
497 }
static readonly IReadOnlyDictionary< string, int > RowMapping

References RowMapping.

◆ GetTypeMapping()

override IReadOnlyDictionary< string, string > SourceMaterial.GetTypeMapping ( )
inline

Definition at line 499 of file SourceMaterial.cs.

500 {
501 return TypeMapping;
502 }
static readonly IReadOnlyDictionary< string, string > TypeMapping

References TypeMapping.

◆ OnAfterImportData()

override void SourceMaterial.OnAfterImportData ( )
inline

Definition at line 549 of file SourceMaterial.cs.

550 {
551 rows.Sort((Row a, Row b) => a.id - b.id);
552 }

References SourceMaterial.Row.id.

◆ OnImportRow()

void SourceMaterial.OnImportRow ( Row  r)
inline

Definition at line 554 of file SourceMaterial.cs.

555 {
556 List<int> list = new List<int>(r.elements);
557 for (int i = 0; i < r.elements.Length; i += 2)
558 {
559 Add(r.elements[i], r.elements[i + 1]);
560 }
561 Add(13, r.hardness);
562 r.elements = list.ToArray();
563 void Add(int ele, int a)
564 {
565 list.Add(ele);
566 list.Add(a);
567 }
568 }

References SourceMaterial.Row.elements, and SourceMaterial.Row.hardness.

◆ OnInit()

override void SourceMaterial.OnInit ( )
inline

Definition at line 504 of file SourceMaterial.cs.

505 {
506 Cell.matList = rows;
507 tierMap.Clear();
508 tierMap.Add("gem", new TierList());
509 tierMap.Add("ore", new TierList());
510 foreach (Row row in rows)
511 {
512 row.Init();
513 row.elementMap = Element.GetElementMap(row.elements);
514 if (!row.groups.IsEmpty())
515 {
516 string[] groups = row.groups;
517 foreach (string key in groups)
518 {
519 TierList tierList = tierMap.TryGetValue(key);
520 if (tierList == null)
521 {
522 tierList = new TierList();
523 tierMap[key] = tierList;
524 }
525 Tier obj = tierList.tiers[row.tier];
526 obj.list.Add(row);
527 obj.sum += row.chance;
528 }
529 }
530 string category = row.category;
531 if (!(category == "gem"))
532 {
533 if (category == "ore")
534 {
535 Tier obj2 = tierMap["ore"].tiers[row.tier];
536 obj2.list.Add(row);
537 obj2.sum += row.chance;
538 }
539 }
540 else
541 {
542 Tier obj3 = tierMap["gem"].tiers[row.tier];
543 obj3.list.Add(row);
544 obj3.sum += row.chance;
545 }
546 }
547 }
static Dictionary< int, int > GetElementMap(int[] list)
Definition: ELEMENT.cs:536
static Dictionary< string, TierList > tierMap

References SourceMaterial.Row.category, SourceMaterial.Row.chance, SourceMaterial.Row.elements, Element.GetElementMap(), SourceMaterial.Row.groups, SourceMaterial.Row.Init(), SourceMaterial.Tier.list, SourceMaterial.Row.tier, tierMap, and SourceMaterial.TierList.tiers.

◆ SetRow()

override void SourceMaterial.SetRow ( Row  r)
inline

Definition at line 489 of file SourceMaterial.cs.

490 {
491 map[r.id] = r;
492 }

References SourceMaterial.Row.id.

Member Data Documentation

◆ RowMapping

readonly IReadOnlyDictionary<string, int> SourceMaterial.RowMapping
static

Definition at line 327 of file SourceMaterial.cs.

Referenced by GetRowMapping().

◆ tierMap

Dictionary<string, TierList> SourceMaterial.tierMap = new Dictionary<string, TierList>()
static

Definition at line 403 of file SourceMaterial.cs.

Referenced by MATERIAL.GetRandomMaterial(), OnInit(), and ActEffect.Proc().

◆ TypeMapping

readonly IReadOnlyDictionary<string, string> SourceMaterial.TypeMapping
static

Definition at line 365 of file SourceMaterial.cs.

Referenced by GetTypeMapping().

Property Documentation

◆ ImportFields

override string [] SourceMaterial.ImportFields
get

Definition at line 405 of file SourceMaterial.cs.


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