Ticket #3904: tooltip.2.diff
File tooltip.2.diff, 27.5 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/globalscripts/Templates.js
function GetTemplateDataHelper(template, 130 130 "description": aura.auraDescription || null 131 131 }; 132 132 } 133 133 } 134 134 135 if (template.BuildingAI) 136 { 137 ret.buildingAI = {}; 138 if (template.BuildingAI.DefaultArrowCount) 139 ret.buildingAI.defaultArrowCount = func("BuildingAI/DefaultArrowCount", +template.BuildingAI.DefaultArrowCount, player, template); 140 if (template.BuildingAI.GarrisonArrowMultiplier) 141 ret.buildingAI.garrisonArrowMultiplier = func("BuildingAI/GarrisonArrowMultiplier", +template.BuildingAI.GarrisonArrowMultiplier, player, template); 142 if (template.BuildingAI.MaxArrowCount) 143 ret.buildingAI.maxArrowCount = func("BuildingAI/MaxArrowCount", +template.BuildingAI.MaxArrowCount, player, template); 144 } 145 135 146 if (template.BuildRestrictions) 136 147 { 137 148 // required properties 138 149 ret.buildRestrictions = { 139 150 "placementType": template.BuildRestrictions.PlacementType, … … function GetTemplateDataHelper(template, 181 192 ret.footprint.circle = {"radius": +template.Footprint.Circle["@radius"]}; 182 193 else 183 194 warn("GetTemplateDataHelper(): Unrecognized Footprint type"); 184 195 } 185 196 197 if (template.GarrisonHolder) 198 { 199 ret.garrisonHolder = {}; 200 if (template.GarrisonHolder.Max) 201 ret.garrisonHolder.max = func("GarrisonHolder/Max", +template.GarrisonHolder.Max, player, template); 202 } 203 186 204 if (template.Obstruction) 187 205 { 188 206 ret.obstruction = { 189 207 "active": ("" + template.Obstruction.Active == "true"), 190 208 "blockMovement": ("" + template.Obstruction.BlockMovement == "true"), -
binaries/data/mods/public/gui/common/tooltips.js
function attackRateDetails(entState, typ 57 57 "time": time, 58 58 "second": g_TooltipTextFormats.unit[0] + translatePlural("second", "seconds", time) + g_TooltipTextFormats.unit[1] 59 59 }); 60 60 61 61 // or multiple arrows shot by BuildingAI 62 if (!entState.buildingAI )62 if (!entState.buildingAI || type != "Ranged") 63 63 return timeString; 64 64 65 let arrows = entState.buildingAI.arrowCount; 65 // return defaultArrowCount when called from training panel 66 let arrows = entState.buildingAI.arrowCount || entState.buildingAI.defaultArrowCount; 66 67 let arrowString = sprintf(translatePlural("%(arrowcount)s %(arrow)s", "%(arrowcount)s %(arrow)s", arrows), { 67 68 "arrowcount": arrows, 68 69 "arrow": g_TooltipTextFormats.unit[0] + translatePlural("arrow", "arrows", arrows) + g_TooltipTextFormats.unit[1] 69 70 }); 70 71 … … function getAttackTooltip(template) 160 161 { 161 162 let attacks = []; 162 163 if (!template.attack) 163 164 return ""; 164 165 165 let rateLabel = g_TooltipTextFormats.header[0] + (template.buildingAI ? translate("Interval:") : translate("Rate:")) + g_TooltipTextFormats.header[1];166 167 166 for (let type in template.attack) 168 167 { 169 168 if (type == "Slaughter") 170 169 continue; // Slaughter is not a real attack, so do not show it. 171 170 if (type == "Charge") 172 171 continue; // Charging isn't implemented yet and shouldn't be displayed. 173 172 173 let rateLabel = (template.buildingAI && type == "Ranged" ? translate("Interval:") : translate("Rate:")); 174 174 175 let rate = sprintf(translate("%(label)s %(details)s"), { 175 "label": rateLabel,176 "label": g_TooltipTextFormats.header[0] + rateLabel + g_TooltipTextFormats.header[1], 176 177 "details": attackRateDetails(template, type) 177 178 }); 178 179 179 180 let attackLabel = g_TooltipTextFormats.header[0] + getAttackTypeLabel(type) + g_TooltipTextFormats.header[1]; 180 181 if (type == "Capture") … … function getEntityCostTooltip(template, 392 393 393 394 return ""; 394 395 } 395 396 396 397 /** 398 * Returns the garrison information to display in the specified entity's construction and training button tooltip. 399 */ 400 function getGarrisonTooltip(template) 401 { 402 let garrison = ""; 403 if (template.garrisonHolder && template.garrisonHolder.max) 404 garrison = "\n" + sprintf(translate("%(label)s %(max)s"), { 405 "label": translate("Garrison Limit:"), 406 "max": template.garrisonHolder.max 407 }); 408 return garrison; 409 } 410 411 /** 412 * Returns the information about building arrows to display in the specified entity's construction and training button tooltip. 413 */ 414 function getGarrisonedArrowsTooltip(template) 415 { 416 let arrow = ""; 417 if (!template.buildingAI) 418 return arrow; 419 if (template.buildingAI.maxArrowCount) 420 arrow += "\n" + sprintf(translate("%(label)s %(arrowLimit)s"), { 421 "label": translate("Projectiles limit:"), 422 "arrowLimit": template.buildingAI.maxArrowCount 423 }); 424 if (template.buildingAI.garrisonArrowMultiplier) 425 arrow += "\n" + sprintf(translate("%(label)s %(arrowMultiplier)s"), { 426 "label": translate("Projectiles per garrisonned unit:"), 427 "arrowMultiplier": template.buildingAI.garrisonArrowMultiplier 428 }); 429 return arrow; 430 } 431 432 /** 397 433 * Returns the population bonus information to display in the specified entity's construction button tooltip. 398 434 */ 399 435 function getPopulationBonusTooltip(template) 400 436 { 401 437 let popBonus = ""; -
binaries/data/mods/public/gui/session/selection_panels.js
g_SelectionPanels.Construction = { 312 312 tooltip += getAurasTooltip(template); 313 313 314 314 if (template.tooltip) 315 315 tooltip += "\n[font=\"sans-13\"]" + template.tooltip + "[/font]"; 316 316 317 tooltip += "[font=\"sans-13\"]" + getGarrisonTooltip(template) + "[/font]"; 318 tooltip += "[font=\"sans-13\"]" + getGarrisonedArrowsTooltip(template) + "[/font]"; 317 319 tooltip += "\n" + getEntityCostTooltip(template); 318 320 tooltip += getPopulationBonusTooltip(template); 319 321 320 322 tooltip += formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers); 321 323 … … g_SelectionPanels.Training = { 996 998 tooltip += getAurasTooltip(template); 997 999 998 1000 if (template.tooltip) 999 1001 tooltip += "\n[font=\"sans-13\"]" + template.tooltip + "[/font]"; 1000 1002 1003 tooltip += "[font=\"sans-13\"]" + getGarrisonTooltip(template) + "[/font]"; 1004 tooltip += "[font=\"sans-13\"]" + getGarrisonedArrowsTooltip(template) + "[/font]"; 1001 1005 tooltip += "\n" + getEntityCostTooltip(template, trainNum, data.unitEntState.id); 1002 1006 1003 1007 let limits = getEntityLimitAndCount(data.playerState, data.item); 1004 1008 1005 1009 tooltip += formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers); -
binaries/data/mods/public/simulation/templates/other/hellenic_epic_temple.xml
27 27 <Identity> 28 28 <Civ>gaia</Civ> 29 29 <GenericName>Epic Temple</GenericName> 30 30 <SpecificName>Naos Parthenos</SpecificName> 31 31 <History>The Hellenes built marvelous temples in order to honour their polytheistic pantheon. While all gods were venerated, a specific patron deity was supposed to watch over each polis.</History> 32 <Tooltip>Garrison u p to 30 units to heal them at a quick rate.</Tooltip>32 <Tooltip>Garrison units to heal them at a quick rate.</Tooltip> 33 33 </Identity> 34 34 <Loot> 35 35 <xp>50</xp> 36 36 <food>0</food> 37 37 <wood>0</wood> -
binaries/data/mods/public/simulation/templates/structures/athen_fortress.xml
5 5 <Height>8.0</Height> 6 6 </Footprint> 7 7 <Identity> 8 8 <Civ>athen</Civ> 9 9 <SpecificName>Epiteíkhisma</SpecificName> 10 <Tooltip>Build siege engines. Garrison up to 20soldiers inside for stout defense.</Tooltip>10 <Tooltip>Build siege engines. Garrison soldiers inside for stout defense.</Tooltip> 11 11 <History>Fortresses (also called "Phroúria") were built to guard passes and atop hills in order to command plains and valleys below. One such Athenian fortress, Gyphtokastro, guarded the pass from Attica into Boeotia.</History> 12 12 </Identity> 13 13 <Obstruction> 14 14 <Static width="24.0" depth="26.0"/> 15 15 </Obstruction> -
binaries/data/mods/public/simulation/templates/structures/athen_wonder.xml
12 12 </GarrisonHolder> 13 13 <Identity> 14 14 <Civ>athen</Civ> 15 15 <SpecificName>Naós Parthenṓn</SpecificName> 16 16 <History>The Hellenes built marvelous temples in order to honour their polytheistic pantheon. While all gods were venerated, a specific patron deity was supposed to watch over each polis.</History> 17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison u p to 30 units to heal them at an extremely quick rate.</Tooltip>17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison units to heal them at an extremely quick rate.</Tooltip> 18 18 </Identity> 19 19 <Obstruction> 20 20 <Static width="27.0" depth="57.0"/> 21 21 </Obstruction> 22 22 <VisualActor> -
binaries/data/mods/public/simulation/templates/structures/cart_temple.xml
11 11 </Footprint> 12 12 <Identity> 13 13 <Civ>cart</Civ> 14 14 <SpecificName>Maqdaš</SpecificName> 15 15 <History>What little we know of the Carthaginian religion has be pieced together from scattered sources. Tanit, a fertility goddess, was one of two principle gods in the Carthaginian pantheon, the other being her consort Ba'al, a deity of Phoenician origin.</History> 16 <Tooltip>Train priestesses to heal your troops. Train Sacred Band pikemen. Garrison u p to 20 units to heal them at a quick rate.</Tooltip>16 <Tooltip>Train priestesses to heal your troops. Train Sacred Band pikemen. Garrison units to heal them at a quick rate.</Tooltip> 17 17 </Identity> 18 18 <Obstruction> 19 19 <Static width="17.0" depth="30.0"/> 20 20 </Obstruction> 21 21 <ProductionQueue> -
binaries/data/mods/public/simulation/templates/structures/cart_wonder.xml
12 12 </GarrisonHolder> 13 13 <Identity> 14 14 <Civ>cart</Civ> 15 15 <SpecificName>Temple of Ba'al Hammon</SpecificName> 16 16 <History>Dating from the 2nd Century BC, the Mausoleum of Atban in northern Tunisia is over twenty metres high and was built by the inhabitants of Dougga for a Numidian prince.</History> 17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison u p to 30 units to heal them at an extremely quick rate.</Tooltip>17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison units to heal them at an extremely quick rate.</Tooltip> 18 18 </Identity> 19 19 <Obstruction> 20 20 <Static width="27.0" depth="57.0"/> 21 21 </Obstruction> 22 22 <VisualActor> -
binaries/data/mods/public/simulation/templates/structures/mace_fortress.xml
11 11 <Height>8.0</Height> 12 12 </Footprint> 13 13 <Identity> 14 14 <Civ>mace</Civ> 15 15 <SpecificName>Teíchisma</SpecificName> 16 <Tooltip>Train Champions and Heroes. Garrison up to 20soldiers inside for stout defense.</Tooltip>16 <Tooltip>Train Champions and Heroes. Garrison soldiers inside for stout defense.</Tooltip> 17 17 <History>The Akropolis was usually a fortified citadel in the upper part of the city. The Athenian Akropolis was renowned for its marvelous temples, among which was the Parthenon, while the Acro-Corinthus was highly prized by the Macedonians for its strategic location and good defenses. Fortresses (also called a "phrourion") were also built to guard passes and atop hills in order to command plains and valleys below.</History> 18 18 </Identity> 19 19 <Obstruction> 20 20 <Static width="24.0" depth="26.0"/> 21 21 </Obstruction> -
binaries/data/mods/public/simulation/templates/structures/mace_wonder.xml
12 12 </GarrisonHolder> 13 13 <Identity> 14 14 <Civ>mace</Civ> 15 15 <SpecificName>Naós Parthenṓn</SpecificName> 16 16 <History>The Hellenes built marvelous temples in order to honour their polytheistic pantheon. While all gods were venerated, a specific patron deity was supposed to watch over each polis.</History> 17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison u p to 30 units to heal them at an extremely quick rate.</Tooltip>17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison units to heal them at an extremely quick rate.</Tooltip> 18 18 </Identity> 19 19 <Obstruction> 20 20 <Static width="27.0" depth="57.0"/> 21 21 </Obstruction> 22 22 <VisualActor> -
binaries/data/mods/public/simulation/templates/structures/ptol_barracks.xml
13 13 <SpawnEntityOnDeath>rubble/rubble_stone_5x5</SpawnEntityOnDeath> 14 14 </Health> 15 15 <Identity> 16 16 <Civ>ptol</Civ> 17 17 <SpecificName>ḥwt-n-mš'</SpecificName> 18 <Tooltip>Train Egyptian and Middle-Eastern citizen-soldiers. Research training improvements. Garrison: 10.</Tooltip>18 <Tooltip>Train Egyptian and Middle-Eastern citizen-soldiers. Research training improvements.</Tooltip> 19 19 </Identity> 20 20 <Obstruction> 21 21 <Static width="20.0" depth="20.0"/> 22 22 </Obstruction> 23 23 <VisualActor> -
binaries/data/mods/public/simulation/templates/structures/ptol_wonder.xml
12 12 </GarrisonHolder> 13 13 <Identity> 14 14 <Civ>ptol</Civ> 15 15 <SpecificName>Temple of Edfu</SpecificName> 16 16 <History>The Temple of Edfu is an ancient Egyptian temple located on the west bank of the Nile in the city of Edfu which was known in Greco-Roman times as Apollonopolis Magna, after the chief god Horus-Apollo.The temple, dedicated to the falcon god Horus, was built in the Ptolemaic period between 237 and 57 BCE. In modern times, it is one of the best preserved temples of Egypt.</History> 17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison u p to 30 units to heal them at an extremely quick rate.</Tooltip>17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison units to heal them at an extremely quick rate.</Tooltip> 18 18 </Identity> 19 19 <Obstruction> 20 20 <Static width="44.0" depth="60.0"/> 21 21 </Obstruction> 22 22 <VisualActor> -
binaries/data/mods/public/simulation/templates/structures/rome_temple_mars.xml
10 10 <Identity> 11 11 <Civ>rome</Civ> 12 12 <GenericName>Temple of Mars</GenericName> 13 13 <SpecificName>Aedes Martis</SpecificName> 14 14 <History>Roman temples in general were not meant for congregational worship. Instead the temple housed a statue of whatever deity the temple was dedicated to and what was needed to carry out the ceremonial and cultic practice necessary for worship. Any actual worship activity was performed outside.</History> 15 <Tooltip>Train healers. Garrison u p to 30 units to heal them at a quick rate.</Tooltip>15 <Tooltip>Train healers. Garrison units to heal them at a quick rate.</Tooltip> 16 16 </Identity> 17 17 <Obstruction> 18 18 <Static width="20.0" depth="40.0"/> 19 19 </Obstruction> 20 20 <TerritoryInfluence> -
binaries/data/mods/public/simulation/templates/structures/rome_wonder.xml
11 11 <BuffHeal>8</BuffHeal> 12 12 </GarrisonHolder> 13 13 <Identity> 14 14 <Civ>rome</Civ> 15 15 <SpecificName>Aedes Iovis Optimi Maximi</SpecificName> 16 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison u p to 30 units to heal them at an extremely quick rate.</Tooltip>16 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison units to heal them at an extremely quick rate.</Tooltip> 17 17 </Identity> 18 18 <Obstruction> 19 19 <Static width="20.0" depth="40.0"/> 20 20 </Obstruction> 21 21 <VisualActor> -
binaries/data/mods/public/simulation/templates/structures/sele_fortress.xml
5 5 <Height>8.0</Height> 6 6 </Footprint> 7 7 <Identity> 8 8 <Civ>sele</Civ> 9 9 <SpecificName>Phrourion</SpecificName> 10 <Tooltip>Build siege engines and train Champions. Garrison up to 20soldiers inside for stout defense.</Tooltip>10 <Tooltip>Build siege engines and train Champions. Garrison soldiers inside for stout defense.</Tooltip> 11 11 <History>Fortresses were built to guard passes and atop hills in order to command plains and valleys below.</History> 12 12 </Identity> 13 13 <Obstruction> 14 14 <Static width="24.0" depth="26.0"/> 15 15 </Obstruction> -
binaries/data/mods/public/simulation/templates/structures/spart_wonder.xml
12 12 </GarrisonHolder> 13 13 <Identity> 14 14 <Civ>spart</Civ> 15 15 <SpecificName>Naós Parthenṓn</SpecificName> 16 16 <History>The Hellenes built marvelous temples in order to honour their polytheistic pantheon. While all gods were venerated, a specific patron deity was supposed to watch over each polis.</History> 17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison u p to 30 units to heal them at a quick rate.</Tooltip>17 <Tooltip>Bring glory to your civilization and add large tracts of land to your empire. Garrison units to heal them at a quick rate.</Tooltip> 18 18 </Identity> 19 19 <Obstruction> 20 20 <Static width="27.0" depth="57.0"/> 21 21 </Obstruction> 22 22 <VisualActor> -
binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml
64 64 <Max>3000</Max> 65 65 <SpawnEntityOnDeath>rubble/rubble_stone_6x6</SpawnEntityOnDeath> 66 66 </Health> 67 67 <Identity> 68 68 <GenericName>Civic Center</GenericName> 69 <Tooltip>Build to acquire large tracts of territory. Train citizens. Garrison: 20.</Tooltip>69 <Tooltip>Build to acquire large tracts of territory. Train citizens.</Tooltip> 70 70 <Classes datatype="tokens">Defensive CivCentre</Classes> 71 71 <VisibleClasses datatype="tokens">CivilCentre</VisibleClasses> 72 72 <Icon>structures/civic_centre.png</Icon> 73 73 </Identity> 74 74 <Loot> -
binaries/data/mods/public/simulation/templates/template_structure_civic_temple.xml
27 27 <Max>2000</Max> 28 28 <SpawnEntityOnDeath>rubble/rubble_stone_4x6</SpawnEntityOnDeath> 29 29 </Health> 30 30 <Identity> 31 31 <GenericName>Temple</GenericName> 32 <Tooltip>Train healers. Garrison u p to 20 units to heal them at a quick rate (3 HP per second). Research healing and religious improvements.</Tooltip>32 <Tooltip>Train healers. Garrison units to heal them at a quick rate (3 HP per second). Research healing and religious improvements.</Tooltip> 33 33 <VisibleClasses datatype="tokens">Town Temple</VisibleClasses> 34 34 <Icon>structures/temple.png</Icon> 35 35 <RequiredTechnology>phase_town</RequiredTechnology> 36 36 </Identity> 37 37 <Loot> -
binaries/data/mods/public/simulation/templates/template_structure_military_barracks.xml
25 25 <Max>2000</Max> 26 26 <SpawnEntityOnDeath>rubble/rubble_stone_4x4</SpawnEntityOnDeath> 27 27 </Health> 28 28 <Identity> 29 29 <GenericName>Barracks</GenericName> 30 <Tooltip>Train citizen-soldiers. Research training improvements. Garrison: 10.</Tooltip>30 <Tooltip>Train citizen-soldiers. Research training improvements.</Tooltip> 31 31 <VisibleClasses datatype="tokens">Village Barracks</VisibleClasses> 32 32 <Icon>structures/barracks.png</Icon> 33 33 <RequiredTechnology>phase_village</RequiredTechnology> 34 34 </Identity> 35 35 <Loot> -
binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
59 59 <Max>4200</Max> 60 60 <SpawnEntityOnDeath>rubble/rubble_stone_6x6</SpawnEntityOnDeath> 61 61 </Health> 62 62 <Identity> 63 63 <GenericName>Fortress</GenericName> 64 <Tooltip>Train heroes, champions, and siege weapons. Research siege weapon improvements. Garrison: 20.</Tooltip>64 <Tooltip>Train heroes, champions, and siege weapons. Research siege weapon improvements.</Tooltip> 65 65 <Classes datatype="tokens">GarrisonFortress</Classes> 66 66 <VisibleClasses datatype="tokens">Defensive City Fortress</VisibleClasses> 67 67 <Icon>structures/fortress.png</Icon> 68 68 <RequiredTechnology>phase_city</RequiredTechnology> 69 69 </Identity> -
binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml
45 45 </Health> 46 46 <Identity> 47 47 <GenericName>Light Warship</GenericName> 48 48 <Classes datatype="tokens">Warship Light Bow Ranged</Classes> 49 49 <RequiredTechnology>phase_town</RequiredTechnology> 50 <Tooltip>Garrison u p to 20 units for transport. Garrison increases the firepower up to 10 arrows.</Tooltip>50 <Tooltip>Garrison units for transport and to increase firepower.</Tooltip> 51 51 </Identity> 52 52 <ResourceGatherer disable=""/> 53 53 <Sound> 54 54 <SoundGroups> 55 55 <attack>attack/weapon/arrowfly.xml</attack> -
binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml
51 51 <Health> 52 52 <Max>2000</Max> 53 53 </Health> 54 54 <Identity> 55 55 <GenericName>Heavy Warship</GenericName> 56 <Tooltip>Garrison u p to 10 catapults to increase firepower.</Tooltip>56 <Tooltip>Garrison units for transport and to increase firepower.</Tooltip> 57 57 <Classes datatype="tokens">Warship Heavy Ranged</Classes> 58 58 <RequiredTechnology>phase_city</RequiredTechnology> 59 59 </Identity> 60 60 <Sound> 61 61 <SoundGroups> -
binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml
45 45 </Health> 46 46 <Identity> 47 47 <GenericName>Medium Warship</GenericName> 48 48 <VisibleClasses datatype="tokens">Warship Medium Ranged</VisibleClasses> 49 49 <RequiredTechnology>phase_town</RequiredTechnology> 50 <Tooltip>Garrison u p to 30 units for transport. Garrison increases the firepower up to 13 arrows.</Tooltip>50 <Tooltip>Garrison units for transport and to increase firepower.</Tooltip> 51 51 </Identity> 52 52 <ResourceGatherer disable=""/> 53 53 <Sound> 54 54 <SoundGroups> 55 55 <attack>attack/weapon/arrowfly.xml</attack> -
binaries/data/mods/public/simulation/templates/template_unit_mechanical_siege_tower.xml
53 53 <Max>500</Max> 54 54 </Health> 55 55 <Identity> 56 56 <GenericName>Siege Tower</GenericName> 57 57 <Classes datatype="tokens">Ranged SiegeTower</Classes> 58 <Tooltip>Garrison u p to 20 infantry inside to increase arrow count from 0 to 10.</Tooltip>58 <Tooltip>Garrison units to increase firepower.</Tooltip> 59 59 </Identity> 60 60 <Selectable> 61 61 <Overlay> 62 62 <Texture> 63 63 <MainTexture>circle/256x256.png</MainTexture>