public ResearchItemAttributesWrapper(ResearchItemAttributes other) : base(other.Name) { TypeOfResearch = other.TypeOfResearch; IconSpriteName = other.IconSpriteName; LocalizedResearchTitleStringID = other.LocalizedResearchTitleStringID; LocalizedShortDescriptionStringID = other.LocalizedShortDescriptionStringID; LocalizedLongDescriptionStringID = other.LocalizedLongDescriptionStringID; ResearchTime = other.ResearchTime; Dependencies = other.Dependencies; ResearchVOCode = other.ResearchVOCode; UnitTypeBuffs = other.UnitTypeBuffs?.ToArray(); CommandsToRun = other.CommandsToRun?.ToArray(); Resource1Cost = other.Resource1Cost; Resource2Cost = other.Resource2Cost; }
protected void OutputForUpgradeResearch(EntityTypeCollection entityTypeCollection, EntityTypeAttributes entityTypeAttributes) { TechTreeAttributes techTreeAttributes = entityTypeAttributes.Get <TechTreeAttributes>(); for (int i = 0; i < techTreeAttributes.TechTrees.Length; ++i) { TechTree techTree = techTreeAttributes.TechTrees[i]; for (int j = 0; j < techTree.Upgrades.Length; ++j) { TechUpgrade upgrade = techTree.Upgrades[j]; EntityTypeAttributes researchItemEntityTypeAttributes = entityTypeCollection.GetEntityType(upgrade.ResearchItem); ResearchItemAttributes researchItemAttributes = researchItemEntityTypeAttributes.Get <ResearchItemAttributes>(); OutputForResearchItem(researchItemAttributes); } } }
protected void OutputForTierResearch(EntityTypeCollection entityTypeCollection, EntityTypeAttributes entityTypeAttributes) { TechTreeAttributes techTreeAttributes = entityTypeAttributes.Get <TechTreeAttributes>(); for (int i = 0; i < techTreeAttributes.TechTrees.Length; ++i) { TechTree techTree = techTreeAttributes.TechTrees[i]; for (int j = 0; j < techTree.Tiers.Length; ++j) { TechTreeTier tier = techTree.Tiers[j]; for (int k = 0; k < tier.ResearchItems.Length; ++k) { EntityTypeAttributes researchItemEntityTypeAttributes = entityTypeCollection.GetEntityType(tier.ResearchItems[k]); ResearchItemAttributes researchItemAttributes = researchItemEntityTypeAttributes.Get <ResearchItemAttributes>(); OutputForResearchItem(researchItemAttributes); } } } }
protected void OutputForResearchItem(ResearchItemAttributes researchItemAttributes) { using (BeginScope(researchItemAttributes.Name)) { Print($"cu: {researchItemAttributes.Resource1Cost}"); Print($"ru: {researchItemAttributes.Resource2Cost}"); Print($"time: {researchItemAttributes.ResearchTime}"); Print($"type: {researchItemAttributes.TypeOfResearch}"); Print($"dependencies: [{String.Join(", ", researchItemAttributes.Dependencies)}]"); if (researchItemAttributes.UnitTypeBuffs.Length > 0) { using (BeginScope("unitTypeBuffs")) { for (int i = 0; i < researchItemAttributes.UnitTypeBuffs.Length; ++i) { OutputForUnitTypeBuff(researchItemAttributes.UnitTypeBuffs[i]); } } } } }