atlasinfobox.swf
Tooltip-style info box displayed on the Atlas (world map) when a portal or location is selected. Shows the world name, a description, and a zone-level (Uber) selector that lets the player choose a difficulty tier before entering.
Document/main class: AtlasInfoBox (extends _kiwi.Core.UIComponent)
SWF-specific classes: 1
Main class: AtlasInfoBox
Renders a panel with a world name (worldName:TextField), world description (worldInfo:TextField), a ComboBox for Uber tier selection (UberSelector), a zone-level label, an Enter button (enterButton:LabelButton), and four console shoulder-button icons (LB, RB, RB_U, LB_D).
On construction, addFrameScript attaches handlers for frames 1 and 20. configUI() initialises text format for the combo box (white Open Sans 12px), sets the label to the translated $Atlas_ZoneLevel ("Difficulty") plus a hard-coded ":", registers ExternalInterface callbacks, and conditionally shows/hides the Enter button and console navigation icons depending on IsConsole().
Public methods
addZoneLevel(level:Number, label:String) : void— adds one entry ({label, data: level}) toUberSelectorand reveals the selector once a second item exists.levelis the world's difficulty number;labelarrives already formatted as<difficulty> - <name>, e.g.15 - Long Shade($ZoneLevel_Uber_12).clearZoneLevels() : void— removes all combo box entries and resetsselectedIndexto 0.changeSelectedLevel(delta:Number) : void— increments/decrements the selected index and firesExternalInterface.call("OnSelectedZoneLevelChanged", data). The call fires even when the step would leave the list and the index stays put.setSelectedLevel(index:Number) : void— directly sets the combo box selection by index, without calling the engine back.
Key fields
enterButton : LabelButton— Enter button, label key$LikedWorlds_GotoWorld("ENTER"); click listener added on PC only, and theConsoleframe has noenterButton. Click firesExternalInterface.call("EnterPortal", data)with the selected difficulty number, or0when the list is empty. The engine setsenterButton.enableddirectly, tofalsewhen the power rank requirement is not met.worldName : TextField— HTML-capable;setWorldName()dropsyto 74 when the name wraps and, past two lines, callsKiwiTextUtil.resizeFont(worldName, 14, 2)to shrink the font a point at a time (floor parameter 14) until it fits on two lines.worldInfo : TextField— repositioned vertically when the Uber selector is shown or hidden. The class never writes its text; the engine setsworldInfo.htmlTextdirectly (see below).UberSelector : ComboBox— zone-level dropdown; change event callsOnSelectedZoneLevelChanged.ZoneLevelLabel : TextField— translate key$Atlas_ZoneLevel.LB / RB / LB_D / RB_U : MovieClip— console shoulder-button indicators for cycling Uber levels; visible only whenIsConsole()is true and levels exist.originalWorldNameY / originalWorldInfoY : Number— saved baseline positions for vertical re-anchoring.selectedIndex : int— tracks current combo selection independently of the widget.
Frame scripts / timeline
The timeline carries three layouts, one per frame label:
- frame 1,
PC(stop()) — default PC layout. - frame 10,
PCLoc(no frame script) — replaces theworldName,worldInfoandZoneLevelLabelfields and moves the selector and console icons;enterButtonstays.setSelectorVisiblechecks for this label. - frame 20,
Console(stop()) — replaces the three text fields again;enterButtonis removed from the timeline before this frame.
Runtime dependencies & integration
IggyFunctions.inIggygate before registeringExternalInterfacecallbacks.IggyFunctions.translate("$Atlas_ZoneLevel")— localised label.ExternalInterfacecallbacks registered:UIComponent.onStageResized,setWorldName,addZoneLevel,clearZoneLevels,changeSelectedLevel,setSelectedLevel.ExternalInterfacecalls out:OnSelectedZoneLevelChanged(zoneLevel)(comboEvent.CHANGEandchangeSelectedLevel, neversetSelectedLevel),EnterPortal(zoneLevel). Both send the selected entry'sdata, the difficulty number the engine passed toaddZoneLevel.- Properties the engine writes directly by name:
worldInfo.htmlTextandenterButton.enabled(both names sit in the executable'sAtlasInfoBox.swfstring block), so both members are part of the engine contract. worldInfotext is formatted engine-side from$PowerRankRequirementTooltipFormat("{0}\n\n{1}Power Rank {2} required.\nSuggested class level {3}.") or, when the requirement is not met,$PowerRankRequirementUnfullfilledTooltipFormat("{0}\n\n{1}<font color=#FF2B2B>{2}</font>\nSuggested class level {3}.").{0}is the portal's own description;{1}is empty except for$UberTwelveAtlasAddition("Included Biomes:\n{0}") on the Rising Tides world and one$HigherStatRequirementline ("Requires {0} of {1} or greater") per required stat on the top uber difficulty;{2}is the power rank, or in the unfulfilled form the whole unmet-requirement sentence in red (which on the top difficulty can name a stat such as Light rather than power rank);{3}is the suggested class level range. Iggy renders the unquotedcolor=#FF2B2Battribute.KiwiTextUtil.resizeFontused to shrink long world names.IsConsole()— toggles Enter button vs. shoulder-button navigation.
Other game-specific classes
Asset skin wrappers (pure symbol embeds, no logic beyond stop() frame scripts): 19 files — CellRenderer_*Skin (×7), ComboBox_*Skin (×4), ScrollArrow{Up,Down}_*Skin (×8), ScrollThumb_*Skin (×3), ScrollBar_thumbIcon, ScrollTrack_skin, List_skin, TextInput_*Skin (×2), focusRectSkin.
Notable logic
setSelectorVisible(visible)repositionsworldInfo.ydifferently for PC vs. console vs.PCLocframe label, and adjusts the combo boxx/yaccordingly.- The
UberSelectoris hidden until at least two zone levels have been added (this.UberSelector.length >= 1). - Font colour for the combo box is hardcoded white (
0xFFFFFF) in Open Sans 12pt via aTextFormatapplied to the dropdown renderer style.