public LogicData CreateItem(CSVRow row) { LogicData data = null; switch (this.m_tableIndex) { case LogicDataType.BUILDING: { data = new LogicBuildingData(row, this); break; } case LogicDataType.LOCALE: { data = new LogicLocaleData(row, this); break; } case LogicDataType.RESOURCE: { data = new LogicResourceData(row, this); break; } case LogicDataType.CHARACTER: { data = new LogicCharacterData(row, this); break; } case LogicDataType.ANIMATION: { data = new LogicAnimationData(row, this); break; } case LogicDataType.PROJECTILE: { data = new LogicProjectileData(row, this); break; } case LogicDataType.BUILDING_CLASS: { data = new LogicBuildingClassData(row, this); break; } case LogicDataType.OBSTACLE: { data = new LogicObstacleData(row, this); break; } case LogicDataType.EFFECT: { data = new LogicEffectData(row, this); break; } case LogicDataType.PARTICLE_EMITTER: { data = new LogicParticleEmitterData(row, this); break; } case LogicDataType.EXPERIENCE_LEVEL: { data = new LogicExperienceLevelData(row, this); break; } case LogicDataType.TRAP: { data = new LogicTrapData(row, this); break; } case LogicDataType.ALLIANCE_BADGE: { data = new LogicAllianceBadgeData(row, this); break; } case LogicDataType.GLOBAL: case LogicDataType.CLIENT_GLOBAL: { data = new LogicGlobalData(row, this); break; } case LogicDataType.TOWNHALL_LEVEL: { data = new LogicTownhallLevelData(row, this); break; } case LogicDataType.ALLIANCE_PORTAL: { data = new LogicAlliancePortalData(row, this); break; } case LogicDataType.NPC: { data = new LogicNpcData(row, this); break; } case LogicDataType.DECO: { data = new LogicDecoData(row, this); break; } case LogicDataType.RESOURCE_PACK: { data = new LogicResourcePackData(row, this); break; } case LogicDataType.SHIELD: { data = new LogicShieldData(row, this); break; } case LogicDataType.MISSION: { data = new LogicMissionData(row, this); break; } case LogicDataType.BILLING_PACKAGE: { data = new LogicBillingPackageData(row, this); break; } case LogicDataType.ACHIEVEMENT: { data = new LogicAchievementData(row, this); break; } case LogicDataType.SPELL: { data = new LogicSpellData(row, this); break; } case LogicDataType.HINT: { data = new LogicHintData(row, this); break; } case LogicDataType.HERO: { data = new LogicHeroData(row, this); break; } case LogicDataType.LEAGUE: { data = new LogicLeagueData(row, this); break; } case LogicDataType.NEWS: { data = new LogicNewsData(row, this); break; } case LogicDataType.WAR: { data = new LogicWarData(row, this); break; } case LogicDataType.REGION: { data = new LogicRegionData(row, this); break; } case LogicDataType.ALLIANCE_BADGE_LAYER: { data = new LogicAllianceBadgeLayerData(row, this); break; } case LogicDataType.ALLIANCE_LEVEL: { data = new LogicAllianceLevelData(row, this); break; } case LogicDataType.HELPSHIFT: { data = new LogicHelpshiftData(row, this); break; } case LogicDataType.CREDIT: case LogicDataType.FAQ: case LogicDataType.VARIABLE: { data = new LogicData(row, this); break; } case LogicDataType.GEM_BUNDLE: { data = new LogicGemBundleData(row, this); break; } case LogicDataType.VILLAGE_OBJECT: { data = new LogicVillageObjectData(row, this); break; } case LogicDataType.CALENDAR_EVENT_FUNCTION: { data = new LogicCalendarEventFunctionData(row, this); break; } case LogicDataType.BOOMBOX: { data = new LogicBoomboxData(row, this); break; } case LogicDataType.EVENT_ENTRY: { data = new LogicEventEntryData(row, this); break; } case LogicDataType.DEEPLINK: { data = new LogicDeeplinkData(row, this); break; } case LogicDataType.LEAGUE_VILLAGE2: { data = new LogicLeagueVillage2Data(row, this); break; } default: { Debugger.Error("Invalid data table id: " + this.m_tableIndex); break; } } return(data); }
public override void CreateReferences() { base.CreateReferences(); this.m_visible = this.GetBooleanValue("IsVisible", 0); this.m_expPoints = this.GetIntegerValue("ExpPoints", 0); LogicAllianceLevelData previousLevel = null; if (this.GetInstanceID() > 0) { previousLevel = (LogicAllianceLevelData)this.m_table.GetItemAt(this.GetInstanceID() - 1); } this.m_troopRequestCooldown = this.GetIntegerValue("TroopRequestCooldown", 0); if (previousLevel != null) { if (this.m_troopRequestCooldown == 0) { this.m_troopRequestCooldown = previousLevel.m_troopRequestCooldown; } } this.m_troopDonationLimit = this.GetIntegerValue("TroopDonationLimit", 0); if (previousLevel != null) { if (this.m_troopDonationLimit == 0) { this.m_troopDonationLimit = previousLevel.m_troopDonationLimit; } } this.m_troopDonationRefund = this.GetIntegerValue("TroopDonationRefund", 0); if (previousLevel != null) { if (this.m_troopDonationRefund == 0) { this.m_troopDonationRefund = previousLevel.m_troopDonationRefund; } } this.m_troopDonationUpgrade = this.GetIntegerValue("TroopDonationUpgrade", 0); if (previousLevel != null) { if (this.m_troopDonationUpgrade == 0) { this.m_troopDonationUpgrade = previousLevel.m_troopDonationUpgrade; } } this.m_warLootCapacityPercent = this.GetIntegerValue("WarLootCapacityPercent", 0); if (previousLevel != null) { if (this.m_warLootCapacityPercent == 0) { this.m_warLootCapacityPercent = previousLevel.m_warLootCapacityPercent; } } this.m_warLootMultiplierPercent = this.GetIntegerValue("WarLootMultiplierPercent", 0); if (previousLevel != null) { if (this.m_warLootMultiplierPercent == 0) { this.m_warLootMultiplierPercent = previousLevel.m_warLootMultiplierPercent; } } this.m_badgeLevel = this.GetIntegerValue("BadgeLevel", 0); if (previousLevel != null) { if (this.m_badgeLevel == 0) { this.m_badgeLevel = previousLevel.m_badgeLevel; } } }