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

Classes

class  Row
 

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 AddRow (Row ele, int id, string idOrg)
 
- Public Member Functions inherited from SourceDataInt< SourceElement.Row >
override T GetRow (string id)
 

Public Attributes

List< Rowhobbies = new List<Row>()
 
Dictionary< string, string > fuzzyAlias = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
 

Static Public Attributes

static readonly IReadOnlyDictionary< string, int > RowMapping
 
static readonly IReadOnlyDictionary< string, string > TypeMapping
 

Properties

override string[] ImportFields [get]
 

Detailed Description

Definition at line 7 of file SourceElement.cs.

Member Function Documentation

◆ AddRow()

void SourceElement.AddRow ( Row  ele,
int  id,
string  idOrg 
)
inline

Definition at line 609 of file SourceElement.cs.

610 {
611 if (map.ContainsKey(id))
612 {
613 return;
614 }
615 Row row = EClass.sources.elements.alias[idOrg];
616 Dictionary<string, System.Reflection.FieldInfo> rowFields = row.GetRowFields();
617 Row row2 = new Row();
618 foreach (System.Reflection.FieldInfo value in rowFields.Values)
619 {
620 value.SetValue(row2, value.GetValue(row));
621 }
622 row2.id = id;
623 row2.idMold = row.id;
624 row2.alias = row.alias + ele.alias.Remove(0, 3);
625 row2.aliasRef = ele.alias;
626 row2.aliasParent = ele.aliasParent;
627 row2.chance = row.chance * ele.chance / 100;
628 row2.LV = row.LV;
629 row2.OnImportData(EClass.sources.elements);
630 rows.Add(row2);
631 }
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
SourceElement elements

References SourceElement.Row.alias, SourceElement.Row.aliasParent, SourceManager.elements, SourceElement.Row.id, SourceElement.Row.LV, and EClass.sources.

Referenced by OnAfterImportData().

◆ CreateRow()

override Row SourceElement.CreateRow ( )
inline

Definition at line 412 of file SourceElement.cs.

413 {
414 return new Row
415 {
416 id = SourceData.GetInt(0),
417 alias = SourceData.GetString(1),
418 name_JP = SourceData.GetString(2),
419 name = SourceData.GetString(3),
420 altname_JP = SourceData.GetString(4),
421 altname = SourceData.GetString(5),
422 aliasParent = SourceData.GetString(6),
423 aliasRef = SourceData.GetString(7),
424 aliasMtp = SourceData.GetString(8),
425 parentFactor = SourceData.GetFloat(9),
426 lvFactor = SourceData.GetInt(10),
427 encFactor = SourceData.GetInt(11),
428 encSlot = SourceData.GetString(12),
429 mtp = SourceData.GetInt(13),
430 LV = SourceData.GetInt(14),
431 chance = SourceData.GetInt(15),
432 value = SourceData.GetInt(16),
433 cost = SourceData.GetIntArray(17),
434 geneSlot = SourceData.GetInt(18),
435 sort = SourceData.GetInt(19),
436 target = SourceData.GetString(20),
437 proc = SourceData.GetStringArray(21),
438 type = SourceData.GetString(22),
439 group = SourceData.GetString(23),
440 category = SourceData.GetString(24),
441 categorySub = SourceData.GetString(25),
442 abilityType = SourceData.GetStringArray(26),
443 tag = SourceData.GetStringArray(27),
444 thing = SourceData.GetString(28),
445 eleP = SourceData.GetInt(29),
446 cooldown = SourceData.GetInt(30),
447 charge = SourceData.GetInt(31),
448 radius = SourceData.GetFloat(32),
449 max = SourceData.GetInt(33),
450 req = SourceData.GetStringArray(34),
451 idTrainer = SourceData.GetString(35),
452 partySkill = SourceData.GetInt(36),
453 tagTrainer = SourceData.GetString(37),
454 levelBonus_JP = SourceData.GetString(38),
455 levelBonus = SourceData.GetString(39),
456 foodEffect = SourceData.GetStringArray(40),
457 langAct = SourceData.GetStringArray(42),
458 detail_JP = SourceData.GetString(43),
459 detail = SourceData.GetString(44),
460 textPhase_JP = SourceData.GetString(45),
461 textPhase = SourceData.GetString(46),
462 textExtra_JP = SourceData.GetString(47),
463 textExtra = SourceData.GetString(48),
464 textInc_JP = SourceData.GetString(49),
465 textInc = SourceData.GetString(50),
466 textDec_JP = SourceData.GetString(51),
467 textDec = SourceData.GetString(52),
468 textAlt_JP = SourceData.GetStringArray(53),
469 textAlt = SourceData.GetStringArray(54),
470 adjective_JP = SourceData.GetStringArray(55),
471 adjective = SourceData.GetStringArray(56)
472 };
473 }
static float GetFloat(int id)
Definition: SourceData.cs:996
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 int[] GetIntArray(int id)
Definition: SourceData.cs:1006

References SourceData< T, T2 >.GetFloat(), SourceData< T, T2 >.GetInt(), SourceData< T, T2 >.GetIntArray(), SourceData< T, T2 >.GetString(), and SourceData< T, T2 >.GetStringArray().

◆ CreateRowByMapping()

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

Definition at line 475 of file SourceElement.cs.

476 {
477 return new Row
478 {
479 id = SourceData.GetInt(mapping["id"]),
480 alias = SourceData.GetString(mapping["alias"]),
481 name_JP = SourceData.GetString(mapping["name_JP"]),
482 name = SourceData.GetString(mapping["name"]),
483 altname_JP = SourceData.GetString(mapping["altname_JP"]),
484 altname = SourceData.GetString(mapping["altname"]),
485 aliasParent = SourceData.GetString(mapping["aliasParent"]),
486 aliasRef = SourceData.GetString(mapping["aliasRef"]),
487 aliasMtp = SourceData.GetString(mapping["aliasMtp"]),
488 parentFactor = SourceData.GetFloat(mapping["parentFactor"]),
489 lvFactor = SourceData.GetInt(mapping["lvFactor"]),
490 encFactor = SourceData.GetInt(mapping["encFactor"]),
491 encSlot = SourceData.GetString(mapping["encSlot"]),
492 mtp = SourceData.GetInt(mapping["mtp"]),
493 LV = SourceData.GetInt(mapping["LV"]),
494 chance = SourceData.GetInt(mapping["chance"]),
495 value = SourceData.GetInt(mapping["value"]),
496 cost = SourceData.GetIntArray(mapping["cost"]),
497 geneSlot = SourceData.GetInt(mapping["geneSlot"]),
498 sort = SourceData.GetInt(mapping["sort"]),
499 target = SourceData.GetString(mapping["target"]),
500 proc = SourceData.GetStringArray(mapping["proc"]),
501 type = SourceData.GetString(mapping["type"]),
502 group = SourceData.GetString(mapping["group"]),
503 category = SourceData.GetString(mapping["category"]),
504 categorySub = SourceData.GetString(mapping["categorySub"]),
505 abilityType = SourceData.GetStringArray(mapping["abilityType"]),
506 tag = SourceData.GetStringArray(mapping["tag"]),
507 thing = SourceData.GetString(mapping["thing"]),
508 eleP = SourceData.GetInt(mapping["eleP"]),
509 cooldown = SourceData.GetInt(mapping["cooldown"]),
510 charge = SourceData.GetInt(mapping["charge"]),
511 radius = SourceData.GetFloat(mapping["radius"]),
512 max = SourceData.GetInt(mapping["max"]),
513 req = SourceData.GetStringArray(mapping["req"]),
514 idTrainer = SourceData.GetString(mapping["idTrainer"]),
515 partySkill = SourceData.GetInt(mapping["partySkill"]),
516 tagTrainer = SourceData.GetString(mapping["tagTrainer"]),
517 levelBonus_JP = SourceData.GetString(mapping["levelBonus_JP"]),
518 levelBonus = SourceData.GetString(mapping["levelBonus"]),
519 foodEffect = SourceData.GetStringArray(mapping["foodEffect"]),
520 langAct = SourceData.GetStringArray(mapping["langAct"]),
521 detail_JP = SourceData.GetString(mapping["detail_JP"]),
522 detail = SourceData.GetString(mapping["detail"]),
523 textPhase_JP = SourceData.GetString(mapping["textPhase_JP"]),
524 textPhase = SourceData.GetString(mapping["textPhase"]),
525 textExtra_JP = SourceData.GetString(mapping["textExtra_JP"]),
526 textExtra = SourceData.GetString(mapping["textExtra"]),
527 textInc_JP = SourceData.GetString(mapping["textInc_JP"]),
528 textInc = SourceData.GetString(mapping["textInc"]),
529 textDec_JP = SourceData.GetString(mapping["textDec_JP"]),
530 textDec = SourceData.GetString(mapping["textDec"]),
531 textAlt_JP = SourceData.GetStringArray(mapping["textAlt_JP"]),
532 textAlt = SourceData.GetStringArray(mapping["textAlt"]),
533 adjective_JP = SourceData.GetStringArray(mapping["adjective_JP"]),
534 adjective = SourceData.GetStringArray(mapping["adjective"])
535 };
536 }

References SourceData< T, T2 >.GetFloat(), SourceData< T, T2 >.GetInt(), SourceData< T, T2 >.GetIntArray(), SourceData< T, T2 >.GetString(), and SourceData< T, T2 >.GetStringArray().

◆ GetRowMapping()

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

Definition at line 543 of file SourceElement.cs.

544 {
545 return RowMapping;
546 }
static readonly IReadOnlyDictionary< string, int > RowMapping

References RowMapping.

◆ GetTypeMapping()

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

Definition at line 548 of file SourceElement.cs.

549 {
550 return TypeMapping;
551 }
static readonly IReadOnlyDictionary< string, string > TypeMapping

References TypeMapping.

◆ OnAfterImportData()

override void SourceElement.OnAfterImportData ( )
inline

Definition at line 575 of file SourceElement.cs.

576 {
578 map.Clear();
579 alias.Clear();
580 foreach (Row row in rows)
581 {
582 map[row.id] = row;
583 alias[row.GetAlias] = row;
584 }
585 int num = 50000;
586 int num2 = 0;
587 for (int i = 910; i < 927; i++)
588 {
589 Row ele = EClass.sources.elements.map[i];
590 AddRow(ele, num + num2 + 100, "ball_");
591 AddRow(ele, num + num2 + 200, "breathe_");
592 AddRow(ele, num + num2 + 300, "bolt_");
593 AddRow(ele, num + num2 + 400, "hand_");
594 AddRow(ele, num + num2 + 500, "arrow_");
595 AddRow(ele, num + num2 + 600, "funnel_");
596 AddRow(ele, num + num2 + 700, "miasma_");
597 AddRow(ele, num + num2 + 800, "weapon_");
598 AddRow(ele, num + num2 + 900, "puddle_");
599 AddRow(ele, num + num2 + 1000, "sword_");
600 AddRow(ele, num + num2 + 1100, "bit_");
601 AddRow(ele, num + num2 + 1200, "flare_");
602 AddRow(ele, num + num2 + 1300, "comet_");
603 AddRow(ele, num + num2 + 1400, "missile_");
604 num2++;
605 }
606 initialized = false;
607 }
Definition: Core.cs:14
static Core SetCurrent(Core _current=null)
Definition: Core.cs:585
void AddRow(Row ele, int id, string idOrg)

References AddRow(), SourceManager.elements, SourceElement.Row.GetAlias, SourceElement.Row.id, Core.SetCurrent(), and EClass.sources.

◆ OnInit()

override void SourceElement.OnInit ( )
inline

Definition at line 553 of file SourceElement.cs.

554 {
555 hobbies.Clear();
556 foreach (Row row in rows)
557 {
558 if (row.id >= 100 && row.id < 400)
559 {
560 hobbies.Add(row);
561 }
562 row.isAttribute = row.category == "attribute";
563 row.isPrimaryAttribute = row.isAttribute && row.tag.Contains("primary");
564 row.isSkill = row.category == "skill";
565 row.isSpell = row.categorySub == "spell";
566 row.isTrait = row.tag.Contains("trait");
567 }
568 fuzzyAlias.Clear();
569 foreach (string key in alias.Keys)
570 {
571 fuzzyAlias[key] = key;
572 }
573 }
List< Row > hobbies
Dictionary< string, string > fuzzyAlias

References fuzzyAlias, hobbies, SourceElement.Row.id, and SourceElement.Row.tag.

◆ SetRow()

override void SourceElement.SetRow ( Row  r)
inline

Definition at line 538 of file SourceElement.cs.

539 {
540 map[r.id] = r;
541 }

References SourceElement.Row.id.

Member Data Documentation

◆ fuzzyAlias

Dictionary<string, string> SourceElement.fuzzyAlias = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)

◆ hobbies

List<Row> SourceElement.hobbies = new List<Row>()

Definition at line 405 of file SourceElement.cs.

Referenced by Biography.Generate(), and OnInit().

◆ RowMapping

readonly IReadOnlyDictionary<string, int> SourceElement.RowMapping
static

Definition at line 284 of file SourceElement.cs.

Referenced by GetRowMapping().

◆ TypeMapping

readonly IReadOnlyDictionary<string, string> SourceElement.TypeMapping
static

Definition at line 344 of file SourceElement.cs.

Referenced by GetTypeMapping().

Property Documentation

◆ ImportFields

override string [] SourceElement.ImportFields
get

Definition at line 410 of file SourceElement.cs.


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