Elin Decompiled Documentation EA 23.330 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 404 of file SourceMaterial.cs.

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

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

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 491 of file SourceMaterial.cs.

492 {
493 return RowMapping;
494 }
static readonly IReadOnlyDictionary< string, int > RowMapping

References RowMapping.

◆ GetTypeMapping()

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

Definition at line 496 of file SourceMaterial.cs.

497 {
498 return TypeMapping;
499 }
static readonly IReadOnlyDictionary< string, string > TypeMapping

References TypeMapping.

◆ OnAfterImportData()

override void SourceMaterial.OnAfterImportData ( )
inline

Definition at line 546 of file SourceMaterial.cs.

547 {
548 rows.Sort((Row a, Row b) => a.id - b.id);
549 }

References SourceMaterial.Row.id.

◆ OnImportRow()

void SourceMaterial.OnImportRow ( Row  r)
inline

Definition at line 551 of file SourceMaterial.cs.

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

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

◆ OnInit()

override void SourceMaterial.OnInit ( )
inline

Definition at line 501 of file SourceMaterial.cs.

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

487 {
488 map[r.id] = r;
489 }

References SourceMaterial.Row.id.

Member Data Documentation

◆ RowMapping

readonly IReadOnlyDictionary<string, int> SourceMaterial.RowMapping
static

Definition at line 324 of file SourceMaterial.cs.

Referenced by GetRowMapping().

◆ tierMap

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

Definition at line 400 of file SourceMaterial.cs.

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

◆ TypeMapping

readonly IReadOnlyDictionary<string, string> SourceMaterial.TypeMapping
static

Definition at line 362 of file SourceMaterial.cs.

Referenced by GetTypeMapping().

Property Documentation

◆ ImportFields

override string [] SourceMaterial.ImportFields
get

Definition at line 402 of file SourceMaterial.cs.


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