The game’s own windows
phantom.aj.screensThe screen and sound
The client's windows, all with the same calls: open, close, waitFor, press, text.
Scripts and plugins
A script has all of it, as phantom.aj.screens, and so does a plugin, from ctx.phantom(): the SDK runs in the plugin's own frame. Each call is marked with what it needs: game:read for what the area knows and hears, which "game": "read" in the manifest grants, and game:act for doing things in it as the player, which needs "game": "act" (see Permissions).
Overview
| Member | What it does | Plugins |
|---|---|---|
all() | The screens open now, in name order, all read in one message. | game:read |
buttons() | A screen's buttons, with whether each can be pressed now; none for a screen not open. | game:read |
close() | Closes a screen the way the client does (its own close, or its close button), and resolves once it has gone. | game:act |
closeAll() | Closes what the client itself closes when tidying up (closeAnyHudPopups, closeAnyInventoryRelatedWindows, closeWorldMapIfOpen), and resolves with the screens that were open before and are not now. | game:act |
get() | One screen if it is open, or null. | game:read |
isOpen() | Whether a screen is open. | game:read |
names() | Every screen this area knows, by name. | game:read |
open() | Opens a screen the way the client does, and resolves once it is open and its art is in (ready: false resolves once it is held). | game:act |
place() | The screen's window as a typed place, for anything this area does not do itself: its class's members complete in the editor. | game:act |
press() | Presses one of a screen's buttons as the player does, and resolves once the client's own handler has heard it. | game:act |
text() | The words a screen shows, every visible field in its art, in the order it draws them. | game:read |
waitFor() | Waits for a screen to open (and its art to come in, unless ready: false). | game:read |
onClose() | Hears screens close, as the window's own destroy (or close) runs. | game:read |
onOpen() | Hears screens open, as the window's own init (or constructor) runs. | game:read |
onPress() | Hears the player press screens' buttons, told by button, read inside the client's handler. | game:read |
onReady() | Hears screens finish loading their art and become usable. | game:read |
screens.loading: The client's loading screen (loadProgress.LoadProgress) and its loading spiral: phantom.aj.screens.loading.
| Member | What it does | Plugins |
|---|---|---|
isShown() | Whether the loading screen is up. | game:read |
say() | Writes words on the loading screen, under its bar. | game:act |
setProgress() | Moves the loading screen's bar to a step (updateProgress). | game:act |
setShown() | Puts the loading screen up or takes it down, as the client does between rooms. | game:act |
setSpinner() | Shows or hides the spiral the client puts over the room while it waits on the server. | game:act |
onChange() | Hears the loading screen go up and come down (LoadProgress.show). | game:read |
onProgress() | Hears each step the client reaches while it loads (LoadProgress.updateProgress). | game:read |
onSpinner() | Hears the client show or hide its waiting spiral (DarkenManager.showLoadingSpiral). | game:read |
screens.startup: What the client shows at login: the gifts, membership notices and welcome popups it queues (gui.StartupPopups), the Jamaa Journal and banners it opens, and the first five minutes' tutorial: phantom.aj.screens.startup.
| Member | What it does | Plugins |
|---|---|---|
checkForGifts() | Asks the server again for gifts waiting (GuiManager.setupInGameRedemptions). | game:act |
current() | Where the login popups stand; empty counts before the client has made them. | game:read |
isInTutorial() | Whether the player is in the first five minutes' tutorial (GuiManager.isInFFM). | game:read |
next() | Moves on to the next login popup (StartupPopups.loadNextPopup). | game:act |
skipAtLogin() | Leaves out popups the client opens at login (the Jamaa Journal, the holiday banner, the Adopt a Pet introduction) until the handle is called. | game:act |
skipQueued() | Leaves out every login popup still queued, gifts included (they stay waiting on the server for the next login), and lets the client finish as though the player had closed them all. | game:act |
startTutorial() | Starts the first five minutes' tutorial (GuiManager.startFFM). | game:act |
onGift() | Hears a login gift shown, the player's answer, and the server taking it. | game:read |
onPopup() | Hears each login popup about to show, and done once the last has gone. | game:read |
onStage() | Hears each step the login popups go through, from being asked for to all gone. | game:read |
onTutorialStart() | Hears the tutorial start. | game:read |
screens.photoBooth: The photo booth: phantom.aj.screens.photoBooth.
| Member | What it does | Plugins |
|---|---|---|
current() | The booth as it stands, or null when it is not open or its art is not in. | game:read |
phrases() | The phrases the booth offers for the speech bubble (SafeChatManager.photoBoothNodes). | game:read |
redraw() | Draws the player's animal again, as the booth does after the avatar editor closes. | game:act |
setAnimal() | Puts another animal in the room into the booth (loadDebugAvatar), or the player back with null. | game:act |
setBackground() | Shows one of the booth's backdrops, from 1. | game:act |
setFlipped() | Turns the animal round, as the pose button does. | game:act |
setPetPosition() | Moves the pet to one of its four places, pressing its button as many times as it takes. | game:act |
setText() | Puts one of the booth's own phrases in the speech bubble, as picking it does. | game:act |
setTextShown() | Shows or hides the speech bubble, as its lock toggle does. | game:act |
onChange() | Hears the booth ready and each change made in it, with the booth as it then stands. | game:read |
onPhoto() | Hears a photo go through the booth: asked for, taken, encoded, saved. | game:read |
screens.jammerCentral: Jammer Central, its What's New pictures and its masterpiece gallery, and the masterpiece preview: phantom.aj.screens.jammerCentral.
| Member | What it does | Plugins |
|---|---|---|
current() | The board as it stands, or null when it is not open or its art is not in. | game:read |
gallery() | The gallery's masterpieces, as the board has them, the pool then the members' pool. | game:read |
preview() | The masterpiece open in a preview, on its own or over the gallery, or null. | game:read |
setLikes() | Shows a number of likes on the preview open. | game:act |
showGalleryPage() | Shows one of the gallery's pages, from 0. | game:act |
showWhatsNew() | Shows one of What's New's pictures, from 0. | game:act |
onChange() | Hears the board change: loaded, What's New and the gallery opened, turned and closed. | game:read |
onPreview() | Hears a masterpiece preview's picture arrive and its likes change. | game:read |
screens.museum: The museum's donation window: phantom.aj.screens.museum.
| Member | What it does | Plugins |
|---|---|---|
current() | The donation window as it stands, or null when it is not open or its art is not in. | game:read |
donate() | Gives the donation, as its button does, and resolves with whether the server took it (onDonateDone) and how much was asked. | game:act |
setAmount() | Sets the amount to give, one of the window's own steps, as its arrows would. | game:act |
setCause() | Picks one of the three causes, from 1, as its radio button does. | game:act |
onDonated() | Hears the server answer a donation (MuseumDonation.onDonateDone). | game:read |
screens.settings: The settings window, and the membership demotion message: phantom.aj.screens.settings.
| Member | What it does | Plugins |
|---|---|---|
current() | The settings window as it stands, or null when it is not open. | game:read |
demotion() | The demotion message, or null when it is not open or its art is not in. | game:read |
refresh() | Draws every row again from what is set now (ItemWindowToggle.resetConditions). | game:act |
toggle() | Presses one row's toggle, by its frame name (music), as the player would. | game:act |
onDemotionPage() | Hears the demotion message turn a page. | game:read |
screens.forms: The game's small forms: the player wall's text box, the parent email, the external link warning and the masterpiece rules: phantom.aj.screens.forms.
| Member | What it does | Plugins |
|---|---|---|
answerExternalLink() | Answers the external link warning: go, or stay. | game:act |
email() | The parent email confirmation, or null when it is not open. | game:read |
externalLink() | The external link warning, with where it leads, or null when it is not open. | game:read |
input() | The player wall's text box, or null when it is not open. | game:read |
submissionRules() | The masterpiece submission rules, or null when they are not open. | game:read |
submitInput() | Submits the player wall's text box, as its button does. | game:act |
typeEmail() | Types an email in the confirmation's entry, as the player would, so it checks it. | game:act |
typeInput() | Types in the player wall's text box as the player would: cut to its length, put through the approved words typist, and the counter moved on. | game:act |
screens.gifts: The popups that hand things over or stand in the way: items received, bulk gifts, the pictures popup, barriers and the membership warning, and the manager's own small notices: phantom.aj.screens.gifts.
| Member | What it does | Plugins |
|---|---|---|
acceptItem() | Takes the item received, as its OK button does. | game:act |
barrier() | The barrier up, or null. | game:read |
bulkItems() | The bulk gift popup, or null when it is not open. | game:read |
daysRemaining() | The membership warning, or null. | game:read |
images() | The pictures popup, or null when it is not open. | game:read |
itemReceived() | The item received popup, or null when it is not open. | game:read |
keepBulkItems() | Keeps every item of a bulk gift, as its button does once their pictures are in. | game:act |
showImage() | Shows one of the pictures, from 0, once the one before has loaded. | game:act |
onNotice() | Hears the manager's own small popups: the jump popup, diamond confirmations and the like. | game:read |
Methods
all
all() => Promise<Screen[]>The screens open now, in name order, all read in one message.
Returns
Promise<Screen[]>
Types
buttons
buttons(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival") => Promise<ScreenButtonState[]>A screen's buttons, with whether each can be pressed now; none for a screen not open.
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" |
Returns
Promise<ScreenButtonState[]>
Types
close
close(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival", options?: ActOptions) => Promise<void>Closes a screen the way the client does (its own close, or its close button), and resolves once it has gone. Throws NOT_READY for one not open, and REFUSED for one only answering puts away (the bulk gift asks to be kept).
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" | |
options optional | ActOptions |
Returns
Promise<void>
Types
closeAll
closeAll(options?: ActOptions) => Promise<("gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival")[]>Closes what the client itself closes when tidying up (closeAnyHudPopups, closeAnyInventoryRelatedWindows, closeWorldMapIfOpen), and resolves with the screens that were open before and are not now.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<("gift" \| "journeyBook" \| "input" \| "avatarEditor" \| "avatarCreator" \| "avatarSwitcher" \| "codeRedemption" \| "dailySpinInfo" \| "daysRemaining" \| "demotionMessage" \| "denSwitcher" \| "diamondShopInfo" \| "differentVersion" \| "eBookChooser" \| "holidayBanner" \| "jammerCentral" \| "joinGames" \| "masterpiecePreview" \| "museumDonation" \| "petCertificate" \| "petInventory" \| "photoBooth" \| "playerEngagement" \| "reportAPlayer" \| "rules" \| "serverSelector" \| "settings" \| "startupPopups" \| "adventureJoin" \| "privateAdventureJoin" \| "barrier" \| "bulkItems" \| "ecoPoints" \| "ecoScore" \| "eggHatched" \| "eggPurchase" \| "emailConfirmation" \| "externalLink" \| "gameCard" \| "imageDisplay" \| "itemPicker" \| "itemReceived" \| "prizeDescription" \| "referGift" \| "submissionRules" \| "welcomeToCarnival")[]>
Types
get
get(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival") => Promise<Screen | null>One screen if it is open, or null.
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" |
Returns
Promise<Screen \| null>
Types
isOpen
isOpen(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival") => Promise<boolean>Whether a screen is open.
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" |
Returns
Promise<boolean>
names
names() => ("gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival")[]Every screen this area knows, by name.
Returns
("gift" \| "journeyBook" \| "input" \| "avatarEditor" \| "avatarCreator" \| "avatarSwitcher" \| "codeRedemption" \| "dailySpinInfo" \| "daysRemaining" \| "demotionMessage" \| "denSwitcher" \| "diamondShopInfo" \| "differentVersion" \| "eBookChooser" \| "holidayBanner" \| "jammerCentral" \| "joinGames" \| "masterpiecePreview" \| "museumDonation" \| "petCertificate" \| "petInventory" \| "photoBooth" \| "playerEngagement" \| "reportAPlayer" \| "rules" \| "serverSelector" \| "settings" \| "startupPopups" \| "adventureJoin" \| "privateAdventureJoin" \| "barrier" \| "bulkItems" \| "ecoPoints" \| "ecoScore" \| "eggHatched" \| "eggPurchase" \| "emailConfirmation" \| "externalLink" \| "gameCard" \| "imageDisplay" \| "itemPicker" \| "itemReceived" \| "prizeDescription" \| "referGift" \| "submissionRules" \| "welcomeToCarnival")[]
open
open(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival", options?: ActOptions & { ready?: boolean | undefined; }) => Promise<Screen>Opens a screen the way the client does, and resolves once it is open and its art is in (ready: false resolves once it is held). One already open resolves at once. Throws REFUSED for a screen only the game can open, since it needs what only the game has.
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" | |
options optional | ActOptions & { ready?: boolean | undefined; } |
Returns
Promise<Screen>
Types
place
place<Name extends ScreenName>(name: Name) => Promise<TypedFlash<Declared<{ adventureJoin: { readonly className: "gui.AdventureJoin"; readonly at: readonly [readonly ["quest.QuestManager", "_adventureJoin"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.AdventureJoin.init"; readonly close: "gui.AdventureJoin.destroy"; readonly ready: "gui.AdventureJoin.onMediaLoaded"; }; readonly buttons: { readonly play: { readonly path: readonly ["_popup", "playBtn"]; readonly handler: "gui.AdventureJoin.onPlayBtn"; readonly gray: readonly ["_popup", "playBtn", "isGray"]; }; readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.AdventureJoin.onCloseBtn"; }; }; }; privateAdventureJoin: { readonly className: "gui.PrivateAdventureJoin"; readonly at: readonly [readonly ["quest.QuestManager", "_privateAdventureJoin"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.PrivateAdventureJoin.init"; readonly close: "gui.PrivateAdventureJoin.destroy"; readonly ready: "gui.PrivateAdventureJoin.onMediaLoaded"; }; readonly buttons: { readonly play: { readonly path: readonly ["_popup", "playBtn"]; readonly handler: "gui.PrivateAdventureJoin.onPlayBtn"; }; readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.PrivateAdventureJoin.onCloseBtn"; }; }; }; barrier: { readonly className: "gui.BarrierPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_barrierPopup", "parent", "visible"]; readonly art: readonly ["_barrierPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.BarrierPopup.init"; readonly close: "gui.BarrierPopup.destroy"; readonly ready: "gui.BarrierPopup.setupBarrier"; }; readonly buttons: { readonly close: { readonly path: readonly ["_barrierPopup", "bx"]; readonly handler: "gui.BarrierPopup.onBarrierClose"; }; }; }; bulkItems: { readonly className: "gui.BulkItemAcceptPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_bulkAcceptPopup", "visible"]; readonly art: readonly ["_bulkAcceptPopup"]; readonly closesTwice: true; readonly close: null; readonly hooks: { readonly open: "gui.BulkItemAcceptPopup.init"; readonly close: "gui.BulkItemAcceptPopup.destroy"; readonly ready: "gui.BulkItemAcceptPopup.onPopupLoaded"; }; readonly buttons: { readonly keep: { readonly path: readonly ["_keepBtn"]; readonly handler: "gui.BulkItemAcceptPopup.onKeepBtn"; readonly gray: readonly ["_keepBtn", "isGray"]; }; }; }; ecoPoints: { readonly className: "gui.EcoPointsPopup"; readonly at: readonly [readonly ["room.RoomManagerWorld", "_instance", "_denItems", "_ecoPointsPopup"]]; readonly ready: readonly ["_popup", "parent", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EcoPointsPopup.<constructor>"; readonly close: "gui.EcoPointsPopup.destroy"; readonly ready: "gui.EcoPointsPopup.onEcoItemLoaded"; }; readonly buttons: { readonly toggle: { readonly path: readonly ["_toggleBtn"]; readonly handler: "gui.EcoPointsPopup.onToggleBtn"; }; readonly info: { readonly path: readonly ["_infoBtn"]; readonly handler: "gui.EcoPointsPopup.onInfoBtn"; readonly shared: true; }; readonly shop: { readonly path: readonly ["_infoPopupEcoShopBtn"]; readonly handler: "gui.EcoPointsPopup.onShopBtn"; readonly shown: readonly ["_infoPopupCont", "visible"]; }; readonly score: { readonly path: readonly ["_viewEcoScoreBtn"]; readonly handler: "gui.EcoPointsPopup.onEcoScoreBtn"; }; readonly close: { readonly path: readonly ["_bx"]; readonly handler: "gui.EcoPointsPopup.onClose"; }; }; }; ecoScore: { readonly className: "gui.EcoScorePopup"; readonly at: readonly [readonly ["room.RoomManagerWorld", "_instance", "_denItems", "_ecoScorePopup"], readonly ["room.RoomManagerWorld", "_instance", "_denItems", "_ecoPointsPopup", "_ecoScorePopup"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EcoScorePopup.<constructor>"; readonly close: "gui.EcoScorePopup.destroy"; readonly ready: "gui.EcoScorePopup.onMediaLoaded"; }; readonly buttons: { readonly credits: { readonly path: readonly ["_getCreditBtn"]; readonly handler: "gui.EcoScorePopup.onGetCreditBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; readonly gray: readonly ["_getCreditBtn", "isGray"]; }; readonly gift: { readonly path: readonly ["_giftBtn"]; readonly handler: "gui.EcoScorePopup.onGiftBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly info: { readonly path: readonly ["_infoBtn"]; readonly handler: "gui.EcoScorePopup.onInfoBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly shop: { readonly path: readonly ["_shopCreditBtn"]; readonly handler: "gui.EcoScorePopup.onShopBtn"; }; readonly windTurbines: { readonly path: readonly ["_itemBlockOne"]; readonly handler: "gui.EcoScorePopup.onItemBlock"; readonly shared: true; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly solarPanels: { readonly path: readonly ["_itemBlockTwo"]; readonly handler: "gui.EcoScorePopup.onItemBlock"; readonly shared: true; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly consumers: { readonly path: readonly ["_consumerItemBtn"]; readonly handler: "gui.EcoScorePopup.onConsumerDetailBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly close: { readonly path: readonly ["_bx"]; readonly handler: "gui.EcoScorePopup.onClose"; }; }; }; eggHatched: { readonly className: "gui.EggPetHatchedPopup"; readonly at: readonly [readonly ["pet.EggPetGuiManager", "_eggPetHatchedPopup"]]; readonly ready: readonly ["_eggPetPopup", "visible"]; readonly art: readonly ["_eggPetPopup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EggPetHatchedPopup.<constructor>"; readonly close: "gui.EggPetHatchedPopup.destroy"; readonly ready: "gui.EggPetHatchedPopup.onMediaLoaded"; }; readonly buttons: { readonly ok: { readonly path: readonly ["_hatchedOkBtn"]; readonly handler: "gui.EggPetHatchedPopup.onOkBtn"; readonly shared: true; readonly shown: readonly ["_hatched", "visible"]; }; readonly accept: { readonly path: readonly ["_barrelOkBtn"]; readonly handler: "gui.EggPetHatchedPopup.onOkBtn"; readonly shared: true; readonly shown: readonly ["_nameBarrel", "visible"]; }; readonly lever: { readonly path: readonly ["_nameLever"]; readonly handler: "gui.EggPetHatchedPopup.onNameLever"; readonly shown: readonly ["_nameBarrel", "visible"]; }; readonly close: { readonly path: readonly ["_nameBarrelBx"]; readonly handler: "gui.EggPetHatchedPopup.onCloseBtn"; readonly shown: readonly ["_nameBarrel", "visible"]; }; }; }; eggPurchase: { readonly className: "gui.EggPetPurchasePopup"; readonly at: readonly [readonly ["pet.EggPetGuiManager", "_eggPetPurchasePopup"]]; readonly ready: readonly ["_eggPetPurchasePopup", "visible"]; readonly art: readonly ["_eggPetPurchasePopup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EggPetPurchasePopup.<constructor>"; readonly close: "gui.EggPetPurchasePopup.destroy"; readonly ready: "gui.EggPetPurchasePopup.onPurchasePopupLoaded"; }; readonly buttons: { readonly buy: { readonly path: readonly ["_eggPetPurchasePopup", "buyBtn"]; readonly handler: "gui.EggPetPurchasePopup.OnBuyBtn"; }; readonly close: { readonly path: readonly ["_eggPetPurchasePopup", "bx"]; readonly handler: "gui.EggPetPurchasePopup.onClose"; }; }; }; emailConfirmation: { readonly className: "gui.EmailConfirmation"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_emailConfirmPopup", "visible"]; readonly art: readonly ["_emailConfirmPopup"]; readonly close: { readonly press: readonly ["entryClose", "close"]; }; readonly hooks: { readonly open: "gui.EmailConfirmation.init"; readonly close: "gui.EmailConfirmation.destroy"; readonly ready: "gui.EmailConfirmation.onPopupLoaded"; }; readonly buttons: { readonly ok: { readonly path: readonly ["_messagePopup", "okBtn"]; readonly handler: "gui.EmailConfirmation.onCloseBtn"; readonly shared: true; readonly shown: readonly ["_messagePopup", "visible"]; }; readonly changeEmail: { readonly path: readonly ["_messagePopup", "resendBtn"]; readonly handler: "gui.EmailConfirmation.onResendBtn"; readonly shared: true; readonly shown: readonly ["_messagePopup", "visible"]; }; readonly send: { readonly path: readonly ["_parentEmailPopup", "resendBtn"]; readonly handler: "gui.EmailConfirmation.onResendBtn"; readonly shared: true; readonly shown: readonly ["_parentEmailPopup", "visible"]; readonly gray: readonly ["_parentEmailPopup", "resendBtn", "isGray"]; }; readonly entryClose: { readonly path: readonly ["_parentEmailPopup", "bx"]; readonly handler: "gui.EmailConfirmation.onParentEmailClose"; readonly shown: readonly ["_parentEmailPopup", "visible"]; }; readonly close: { readonly path: readonly ["_messagePopup", "bx"]; readonly handler: "gui.EmailConfirmation.onCloseBtn"; readonly shared: true; readonly shown: readonly ["_messagePopup", "visible"]; }; }; }; externalLink: { readonly className: "gui.ExternalLinkPopup"; readonly at: readonly [readonly ["newspaper.NewspaperManager", "_newspaperPopup", "_externalLinkPopup"], readonly ["ecard.ECardManager", "_eCardInbox", "_externalLinkPopup"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.ExternalLinkPopup.<constructor>"; readonly close: "gui.ExternalLinkPopup.destroy"; readonly ready: "gui.ExternalLinkPopup.onPopupLoaded"; }; readonly buttons: { readonly yes: { readonly path: readonly ["_popup", "yesBtn"]; readonly handler: "gui.ExternalLinkPopup.onYesNoBtn"; readonly shared: true; }; readonly no: { readonly path: readonly ["_popup", "noBtn"]; readonly handler: "gui.ExternalLinkPopup.onYesNoBtn"; readonly shared: true; }; readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.ExternalLinkPopup.onCloseBtn"; }; }; }; gameCard: { readonly className: "gui.GameCardPopup"; readonly at: readonly [readonly ["game.MinigameManager", "_gameCardPopup"]]; readonly ready: readonly ["_thePopup", "visible"]; readonly art: readonly ["_thePopup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.GameCardPopup.<constructor>"; readonly close: "gui.GameCardPopup.destroy"; readonly ready: "gui.GameCardPopup.onGameCardLoaded"; }; readonly buttons: { readonly start: { readonly path: readonly ["_joinGamePopup", "startBtn"]; readonly handler: "gui.GameCardPopup.onAnyStartClicked"; readonly shared: true; readonly gray: readonly ["_joinGamePopup", "startBtn", "isGray"]; }; readonly play: { readonly path: readonly ["_joinGamePopup", "startPlayBtn"]; readonly handler: "gui.GameCardPopup.onAnyStartClicked"; readonly shared: true; readonly gray: readonly ["_joinGamePopup", "startPlayBtn", "isGray"]; }; readonly proStart: { readonly path: readonly ["_joinGamePopup", "proStartBtn"]; readonly handler: "gui.GameCardPopup.onAnyStartClicked"; readonly shared: true; }; readonly instructions: { readonly path: readonly ["_joinGamePopup", "instrBtn"]; readonly handler: "gui.GameCardPopup.onInstructionsClicked"; }; readonly next: { readonly path: readonly ["_instructionsPopup", "nextBtn"]; readonly handler: "gui.GameCardPopup.nextHandler"; }; readonly back: { readonly path: readonly ["_instructionsPopup", "backBtn"]; readonly handler: "gui.GameCardPopup.backHandler"; }; readonly backToCard: { readonly path: readonly ["_instructionsPopup", "backToMainBtn"]; readonly handler: "gui.GameCardPopup.backBtnHandlerOnFirstScreen"; }; readonly close: { readonly path: readonly ["_thePopup", "bx"]; readonly handler: "gui.GameCardPopup.onClose"; }; }; }; imageDisplay: { readonly className: "gui.ImageDisplayPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly open: { readonly call: "openDisplayImagesPopup"; readonly args: readonly []; }; readonly close: { readonly press: readonly ["infoClose", "close"]; }; readonly hooks: { readonly open: "gui.ImageDisplayPopup.<constructor>"; readonly close: "gui.ImageDisplayPopup.destroy"; readonly ready: "gui.ImageDisplayPopup.onMediaLoaded"; }; readonly buttons: { readonly next: { readonly path: readonly ["_popup", "popupCont", "rArrow"]; readonly handler: "gui.ImageDisplayPopup.onArrow"; readonly shared: true; readonly gray: readonly ["_popup", "popupCont", "rArrow", "isGray"]; }; readonly previous: { readonly path: readonly ["_popup", "popupCont", "lArrow"]; readonly handler: "gui.ImageDisplayPopup.onArrow"; readonly shared: true; }; readonly info: { readonly path: readonly ["_popup", "popupCont", "infoBtn"]; readonly handler: "gui.ImageDisplayPopup.onInfo"; }; readonly infoClose: { readonly path: readonly ["_popup", "info", "xBtn"]; readonly handler: "gui.ImageDisplayPopup.onClose"; readonly shared: true; readonly shown: readonly ["_popup", "info", "visible"]; }; readonly close: { readonly path: readonly ["_popup", "popupCont", "xBtn"]; readonly handler: "gui.ImageDisplayPopup.onClose"; readonly shared: true; }; }; }; input: { readonly className: "gui.InputPopup"; readonly at: readonly [readonly ["playerWall.PlayerWallManager", "_myPlayerWall", "_inputPopup"], readonly ["playerWall.PlayerWallManager", "_strangersPlayerWall", "_inputPopup"]]; readonly ready: readonly ["_inputPopup", "visible"]; readonly art: readonly ["_inputPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.InputPopup.<constructor>"; readonly close: "gui.InputPopup.destroy"; readonly ready: "gui.InputPopup.onPopupLoaded"; }; readonly buttons: { readonly submit: { readonly path: readonly ["_inputPopup", "submitBtn"]; readonly handler: "gui.InputPopup.onSubmitBtn"; readonly gray: readonly ["_inputPopup", "submitBtn", "isGray"]; }; readonly close: { readonly path: readonly ["_inputPopup", "bx"]; readonly handler: "gui.InputPopup.onPopupClose"; }; }; }; itemPicker: { readonly className: "gui.DenAndClothesItemSelect"; readonly at: readonly [readonly ["gui.TradeManager", "_denClothesSelectPopup"], readonly [string, ...string[]], readonly ["ecard.ECardManager", "_eCardCreation", "_eCardClothes"], readonly ["shop.ShopManager", "_shop", "_itemSelect"]]; readonly shown: readonly ["_popup"]; readonly ready: readonly ["_popup"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.DenAndClothesItemSelect.init"; readonly close: "gui.DenAndClothesItemSelect.destroy"; readonly ready: "gui.DenAndClothesItemSelect.onPopupLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.DenAndClothesItemSelect.onClose"; }; }; }; itemReceived: { readonly className: "gui.ItemReceivedPopup"; readonly at: readonly [readonly ["game.MinigameManager", "_currentMinigameNonSwf", "_itemReceivedPopup"]]; readonly ready: readonly ["_itemReceivedPopup", "visible"]; readonly art: readonly ["_itemReceivedPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.ItemReceivedPopup.<constructor>"; readonly close: "gui.ItemReceivedPopup.destroy"; readonly ready: "gui.ItemReceivedPopup.onPopupLoaded"; }; readonly buttons: { readonly ok: { readonly path: readonly ["_okBtn"]; readonly handler: "gui.ItemReceivedPopup.onClose"; readonly shared: true; }; readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.ItemReceivedPopup.onClose"; readonly shared: true; }; }; }; prizeDescription: { readonly className: "com.sbi.popup.SBOkPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.GuiManager.onPrizeIconReceived"; readonly close: "gui.GuiManager.onPrizeDescOkDown"; }; }; referGift: { readonly className: "giftPopup.ReferAFriendGiftPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly call: "closePromoPopup"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GuiManager.openReferGiftPopup"; readonly close: "gui.GuiManager.destroyPromotionalPopup"; }; }; submissionRules: { readonly className: "gui.SubmissionRulesPopup"; readonly at: readonly [readonly ["game.MinigameManager", "_currentMinigameNonSwf", "_submissionRules"]]; readonly ready: readonly ["_submissionRulesPopup", "visible"]; readonly art: readonly ["_submissionRulesPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["tokenClose", "close"]; }; readonly hooks: { readonly open: "gui.SubmissionRulesPopup.<constructor>"; readonly close: "gui.SubmissionRulesPopup.destroy"; readonly ready: "gui.SubmissionRulesPopup.onPopupLoaded"; }; readonly buttons: { readonly buy: { readonly path: readonly ["_buyBtn"]; readonly handler: "gui.SubmissionRulesPopup.onBuyCancel"; readonly shared: true; }; readonly cancel: { readonly path: readonly ["_cancelBtn"]; readonly handler: "gui.SubmissionRulesPopup.onBuyCancel"; readonly shared: true; }; readonly diamonds: { readonly path: readonly ["_tokenPopupDiamondBtn"]; readonly handler: "gui.SubmissionRulesPopup.onTokenDiamondBtn"; readonly shown: readonly ["_tokenPopup", "visible"]; readonly gray: readonly ["_tokenPopupDiamondBtn", "isGray"]; }; readonly token: { readonly path: readonly ["_tokenPopupTokenBtn"]; readonly handler: "gui.SubmissionRulesPopup.onTokenBuyBtn"; readonly shown: readonly ["_tokenPopup", "visible"]; }; readonly tokenClose: { readonly path: readonly ["_tokenPopup", "bx"]; readonly shown: readonly ["_tokenPopup", "visible"]; }; readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.SubmissionRulesPopup.onClose"; }; }; }; welcomeToCarnival: { readonly className: "gui.WelcomeToCarnival"; readonly at: readonly [readonly ["room.RoomXtCommManager", "_welcomePopup"]]; readonly shown: readonly ["_popup", "visible"]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.WelcomeToCarnival.init"; readonly close: "gui.WelcomeToCarnival.destroy"; readonly ready: "gui.WelcomeToCarnival.mediaCallback"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.WelcomeToCarnival.popupCloseHandler"; }; }; }; avatarEditor: { readonly className: "gui.AvatarEditor"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openAvatarEditor"; readonly args: readonly [null, false]; }; readonly close: { readonly call: "onAvEditorClose"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.AvatarEditor.init"; readonly close: "gui.AvatarEditor.destroy"; }; }; avatarCreator: { readonly className: "createAccountGui.GuiAvatarCreationAssets"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openAvatarCreator"; readonly args: readonly [false, false, -1, false, null]; }; readonly close: { readonly call: "closeAvatarCreator"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GuiManager.openAvatarCreator"; readonly close: "gui.GuiManager.closeAvatarCreator"; }; }; avatarSwitcher: { readonly className: "gui.AvatarSwitcher"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_switchContent"]; readonly art: readonly ["_switchContent"]; readonly open: { readonly call: "openAvatarChoose"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.AvatarSwitcher.init"; readonly close: "gui.AvatarSwitcher.destroy"; readonly ready: "gui.AvatarSwitcher.onWindowsLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.AvatarSwitcher.onClose"; }; readonly recycle: { readonly path: readonly ["_switchContent", "recycleBtn"]; readonly handler: "gui.AvatarSwitcher.onRecycleDown"; readonly gray: readonly ["_switchContent", "recycleBtn", "gray", "visible"]; }; readonly newAnimal: { readonly path: readonly ["_switchContent", "newAmlTag", "newAmlBtn"]; readonly handler: "gui.AvatarSwitcher.onNewAmlTag"; readonly shown: readonly ["_switchContent", "newAmlTag", "visible"]; readonly gray: readonly ["_switchContent", "newAmlTag", "newAmlBtn", "isGray"]; }; readonly dismissMessage: { readonly path: readonly ["_switchContent", "oopsPopup", "closeBtn"]; readonly handler: "gui.AvatarSwitcher.onOopsClose"; readonly shown: readonly ["_switchContent", "oopsPopup", "visible"]; }; readonly saveChoice: { readonly path: readonly ["_switchContent", "saveAmlTag", "saveAmlBtn"]; readonly handler: "gui.AvatarSwitcher.onSaveAnimalsDown"; readonly shown: readonly ["_switchContent", "saveAmlTag", "visible"]; }; readonly confirmTwo: { readonly path: readonly ["_choosingContent", "amlsPopup", "okBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "amlsPopup", "visible"]; }; readonly cancelTwo: { readonly path: readonly ["_choosingContent", "amlsPopup", "noBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "amlsPopup", "visible"]; }; readonly confirmOne: { readonly path: readonly ["_choosingContent", "oneAmlPopup", "okBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "oneAmlPopup", "visible"]; }; readonly cancelOne: { readonly path: readonly ["_choosingContent", "oneAmlPopup", "noBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "oneAmlPopup", "visible"]; }; }; }; codeRedemption: { readonly className: "gameRedemption.CodeRedemptionPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openCodeRedemptionPopup"; readonly args: readonly [null]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gameRedemption.CodeRedemptionPopup.init"; readonly close: "gameRedemption.CodeRedemptionPopup.destroy"; }; }; dailySpinInfo: { readonly className: "flash.display.MovieClip"; readonly at: readonly [readonly [string, ...string[]]]; readonly shown: readonly ["parent"]; readonly open: { readonly call: "openDailySpinInfoPopup"; readonly args: readonly []; }; readonly close: { readonly handler: "onDiamondSpinInfoClose"; }; readonly hooks: { readonly open: "gui.GuiManager.onDiamondSpinInfoLoaded"; readonly close: "gui.GuiManager.onDiamondSpinInfoClose"; }; }; daysRemaining: { readonly className: "gui.ExpiringDaysPopup"; readonly at: readonly [readonly [string, ...string[]], readonly [string, ...string[]]]; readonly ready: readonly ["_expiringPopup", "visible"]; readonly art: readonly ["_expiringPopup"]; readonly open: { readonly call: "openDaysRemainingPopup"; readonly args: readonly []; }; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.ExpiringDaysPopup.<constructor>"; readonly close: "gui.ExpiringDaysPopup.destroy"; readonly ready: "gui.ExpiringDaysPopup.onMediaLoaded"; }; readonly buttons: { readonly renew: { readonly path: readonly ["_expiringPopup", "renewBtn"]; readonly handler: "gui.ExpiringDaysPopup.onRenew"; }; readonly close: { readonly path: readonly ["_expiringPopup", "bx"]; readonly handler: "gui.ExpiringDaysPopup.popupCloseHandler"; }; }; }; demotionMessage: { readonly className: "gui.DemotionMessages"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_content"]; readonly art: readonly ["_content"]; readonly open: { readonly call: "initDemotionMessage"; readonly args: readonly [null]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.DemotionMessages.init"; readonly close: "gui.DemotionMessages.destroy"; readonly ready: "gui.DemotionMessages.demotionCallback"; }; readonly buttons: { readonly next: { readonly path: readonly ["_content", "nextBtn"]; readonly handler: "gui.DemotionMessages.nextBtnHandler"; }; readonly choose: { readonly path: readonly ["_content", "chooseBtn"]; readonly handler: "gui.DemotionMessages.chooseBtnHandler"; }; readonly noThanks: { readonly path: readonly ["_content", "noThanksBtn"]; readonly handler: "gui.DemotionMessages.demotionCloseHandler"; }; readonly sound: { readonly path: readonly ["_content", "soundBtn"]; readonly handler: "gui.DemotionMessages.soundBtnHandler"; }; }; }; denSwitcher: { readonly className: "gui.DenSwitcher"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_switchContent"]; readonly art: readonly ["_switchContent"]; readonly open: { readonly call: "openDenRoomSwitcher"; readonly args: readonly [false, null, false, -1, -1, -1]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.DenSwitcher.init"; readonly close: "gui.DenSwitcher.destroy"; readonly ready: "gui.DenSwitcher.buildWindows"; }; readonly buttons: { readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.DenSwitcher.onClose"; }; readonly recycle: { readonly path: readonly ["_switchContent", "recycleBtn"]; readonly handler: "gui.DenSwitcher.onRecycleDown"; readonly gray: readonly ["_switchContent", "recycleBtn", "gray", "visible"]; }; readonly moreDens: { readonly path: readonly ["_switchContent", "denShopTag", "denShopBtn"]; readonly handler: "gui.DenSwitcher.onMoreDenDown"; readonly shown: readonly ["_switchContent", "denShopTag", "visible"]; }; readonly dismissMessage: { readonly path: readonly ["_switchContent", "oopsPopup", "closeBtn"]; readonly handler: "gui.DenSwitcher.onOopsClose"; readonly shown: readonly ["_switchContent", "oopsPopup", "visible"]; }; }; }; diamondShopInfo: { readonly className: "flash.display.MovieClip"; readonly at: readonly [readonly [string, ...string[]]]; readonly shown: readonly ["parent"]; readonly open: { readonly call: "openDiamondShopInfo"; readonly args: readonly []; }; readonly close: { readonly handler: "onDiamondInfoClose"; }; readonly hooks: { readonly open: "gui.GuiManager.onDiamondInfoLoaded"; readonly close: "gui.GuiManager.onDiamondInfoClose"; }; }; differentVersion: { readonly className: "com.sbi.popup.SBOkPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openVersionPopup"; readonly args: readonly [false]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.GuiManager.openVersionPopup"; readonly close: "gui.GuiManager.onVersionPopupConfirm"; }; }; eBookChooser: { readonly className: "gui.EBookChooser"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_popup"]; readonly art: readonly ["_popup"]; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.EBookChooser.init"; readonly close: "gui.EBookChooser.destroy"; readonly ready: "gui.EBookChooser.onBookListLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "xBtn"]; readonly handler: "gui.EBookChooser.onClose"; }; }; }; gift: { readonly className: "giftPopup.GiftPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly call: "closePromoPopup"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GuiManager.openGiftPopup"; readonly close: "gui.GuiManager.destroyPromotionalPopup"; }; }; holidayBanner: { readonly className: "flash.display.MovieClip"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openHolidayBanner"; readonly args: readonly []; }; readonly close: { readonly call: "onCloseHolidayBanner"; readonly args: readonly [null]; }; readonly hooks: { readonly open: "gui.GuiManager.onHolidayBannerLoaded"; readonly close: "gui.GuiManager.onCloseHolidayBanner"; }; }; jammerCentral: { readonly className: "gui.BulletinBoard"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_bulletinBoardPopup"]; readonly art: readonly ["_bulletinBoardPopup"]; readonly open: { readonly call: "openJammerCentral"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.BulletinBoard.init"; readonly close: "gui.BulletinBoard.destroy"; readonly ready: "gui.BulletinBoard.onMediaItemLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_bulletinBoardPopup", "bx"]; readonly handler: "gui.BulletinBoard.onPopupClose"; readonly shared: true; }; readonly playVideo: { readonly path: readonly ["_bulletinBoardPopup", "playMovBtn"]; readonly handler: "gui.BulletinBoard.onPlayMovieDown"; readonly shared: true; }; readonly whatsNew: { readonly path: readonly ["_bulletinBoardPopup", "whatsNewBtn"]; readonly handler: "gui.BulletinBoard.onWhatsNewBtnDown"; }; readonly gallery: { readonly path: readonly ["_bulletinBoardPopup", "masterpieceGallery"]; readonly handler: "gui.BulletinBoard.onMasterpieceDown"; }; readonly submitArt: { readonly path: readonly ["_bulletinBoardPopup", "submitWorkBtn"]; readonly handler: "gui.BulletinBoard.onSubmitWorkDown"; }; readonly whatsNewClose: { readonly path: readonly ["_whatsNewPopup", "bx"]; readonly handler: "gui.BulletinBoard.onPopupClose"; readonly shared: true; readonly shown: readonly ["_whatsNewPopup", "parent"]; }; readonly whatsNewPrevious: { readonly path: readonly ["_whatsNewPopup", "leftBtn"]; readonly handler: "gui.BulletinBoard.onLeftRightWhatsNew"; readonly shared: true; readonly shown: readonly ["_whatsNewPopup", "parent"]; }; readonly whatsNewNext: { readonly path: readonly ["_whatsNewPopup", "rightBtn"]; readonly handler: "gui.BulletinBoard.onLeftRightWhatsNew"; readonly shared: true; readonly shown: readonly ["_whatsNewPopup", "parent"]; }; readonly galleryClose: { readonly path: readonly ["_artGalleryPopup", "bx"]; readonly handler: "gui.BulletinBoard.onPopupClose"; readonly shared: true; readonly shown: readonly ["_artGalleryPopup", "parent"]; }; readonly galleryPrevious: { readonly path: readonly ["_artGalleryPopup", "lBtn"]; readonly handler: "gui.BulletinBoard.onGalleryLeftRightDown"; readonly shared: true; readonly shown: readonly ["_artGalleryPopup", "parent"]; }; readonly galleryNext: { readonly path: readonly ["_artGalleryPopup", "rBtn"]; readonly handler: "gui.BulletinBoard.onGalleryLeftRightDown"; readonly shared: true; readonly shown: readonly ["_artGalleryPopup", "parent"]; }; }; }; joinGames: { readonly className: "gui.GameJoinPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_joinPopup"]; readonly art: readonly ["_joinPopup"]; readonly open: { readonly call: "openJoinGamesPopup"; readonly args: readonly []; }; readonly close: { readonly call: "closeJoinGamesPopup"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GameJoinPopup.<constructor>"; readonly close: "gui.GameJoinPopup.destroy"; readonly ready: "gui.GameJoinPopup.onWindowsLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_joinPopup", "bx"]; readonly handler: "gui.GameJoinPopup.onClosePopup"; }; }; }; journeyBook: { readonly className: "gui.PageFlip"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_pageFlipBase"]; readonly art: readonly ["_pageFlipBase"]; readonly open: { readonly call: "openJourneyBook"; readonly args: readonly [-1]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.PageFlip.init"; readonly close: "gui.PageFlip.destroy"; readonly ready: "gui.PageFlip.openPageFlip"; }; readonly buttons: { readonly zoom: { readonly path: readonly ["_zoomBtn"]; readonly handler: "gui.PageFlip.magnify"; }; readonly dismissInfo: { readonly path: readonly ["_infoPopup", "bx"]; readonly handler: "gui.PageFlip.onInfoPopupClose"; }; }; }; masterpiecePreview: { readonly className: "gui.MasterpiecePreview"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_previewPopup", "parent"]; readonly close: { readonly call: "closeMasterpiecePreview"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.MasterpiecePreview.<constructor>"; readonly close: "gui.MasterpiecePreview.destroy"; readonly ready: "gui.MasterpiecePreview.completeSettingUp"; }; readonly buttons: { readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.MasterpiecePreview.onCloseBtn"; }; readonly buy: { readonly path: readonly ["_buyBtnGreen"]; readonly handler: "gui.MasterpiecePreview.onBuyBtn"; readonly shared: true; }; readonly like: { readonly path: readonly ["_currFrame", "likeBtn"]; readonly handler: "gui.MasterpiecePreview.onLikeBtn"; }; readonly report: { readonly path: readonly ["_currFrame", "report_btn"]; readonly handler: "gui.MasterpiecePreview.onReportDown"; readonly shown: readonly ["_currFrame", "nameBar", "mouseEnabled"]; }; readonly creator: { readonly path: readonly ["_currFrame", "nameBar"]; readonly handler: "gui.MasterpiecePreview.onNameBarDown"; readonly shown: readonly ["_currFrame", "nameBar", "mouseEnabled"]; }; }; }; museumDonation: { readonly className: "gui.MuseumDonation"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_popup"]; readonly art: readonly ["_popup"]; readonly open: { readonly call: "openMuseumDonation"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.MuseumDonation.init"; readonly close: "gui.MuseumDonation.destroy"; readonly ready: "gui.MuseumDonation.onMediaLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.MuseumDonation.onClose"; }; readonly more: { readonly path: readonly ["_popup", "upBtn"]; readonly handler: "gui.MuseumDonation.onUpBtn"; }; readonly less: { readonly path: readonly ["_popup", "downBtn"]; readonly handler: "gui.MuseumDonation.onDownBtn"; }; readonly donate: { readonly path: readonly ["_popup", "donateBtn"]; readonly handler: "gui.MuseumDonation.onDonateBtn"; readonly shared: true; readonly gray: readonly ["_popup", "donateBtn", "isGray"]; }; readonly cause1: { readonly path: readonly ["_popup", "radioBtn1"]; readonly handler: "gui.MuseumDonation.onRadioBtn"; readonly shared: true; }; readonly cause2: { readonly path: readonly ["_popup", "radioBtn2"]; readonly handler: "gui.MuseumDonation.onRadioBtn"; readonly shared: true; }; readonly cause3: { readonly path: readonly ["_popup", "radioBtn3"]; readonly handler: "gui.MuseumDonation.onRadioBtn"; readonly shared: true; }; }; }; petCertificate: { readonly className: "pet.PetCertificatePopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.GuiManager.openPetCertificatePopup"; readonly close: "gui.GuiManager.onPetCertificateClose"; }; }; petInventory: { readonly className: "gui.PetInventory"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_inventoryMC"]; readonly art: readonly ["_inventoryMC"]; readonly open: { readonly build: "gui.PetInventory"; readonly closer: "onPetInventoryClose"; readonly args: readonly ["$closer"]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.PetInventory.init"; readonly close: "gui.PetInventory.destroy"; readonly ready: "gui.PetInventory.createItemWindows"; }; readonly buttons: { readonly close: { readonly path: readonly ["_inventoryMC", "bx"]; readonly handler: "gui.PetInventory.onClose"; }; readonly recycle: { readonly path: readonly ["_inventoryMC", "cageBtn"]; readonly handler: "gui.PetInventory.onCageBtn"; }; readonly mastery: { readonly path: readonly ["_inventoryMC", "bMastery"]; readonly handler: "gui.PetInventory.onMasteryBtn"; }; readonly shop: { readonly path: readonly ["_inventoryMC", "shopBtn"]; readonly handler: "gui.PetInventory.onShopBtn"; }; readonly salon: { readonly path: readonly ["_inventoryMC", "salonBtn"]; readonly handler: "gui.PetInventory.onSalonBtn"; }; readonly checklist: { readonly path: readonly ["_inventoryMC", "checklistBtn"]; readonly handler: "gui.PetInventory.onChecklistBtn"; }; readonly certificate: { readonly path: readonly ["_inventoryMC", "certBtn"]; readonly handler: "gui.PetInventory.onCertBtn"; }; }; }; photoBooth: { readonly className: "gui.PhotoBooth"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_booth"]; readonly art: readonly ["_booth"]; readonly open: { readonly call: "openPhotoBooth"; readonly args: readonly [null, false]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.PhotoBooth.init"; readonly close: "gui.PhotoBooth.destroy"; readonly ready: "gui.PhotoBooth.onMediaLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_booth", "bx"]; readonly handler: "gui.PhotoBooth.onClose"; }; readonly previousBackground: { readonly path: readonly ["_booth", "leftBtn"]; readonly handler: "gui.PhotoBooth.onLeftRightBtn"; readonly shared: true; }; readonly nextBackground: { readonly path: readonly ["_booth", "rightBtn"]; readonly handler: "gui.PhotoBooth.onLeftRightBtn"; readonly shared: true; }; readonly flip: { readonly path: readonly ["_booth", "actionPose"]; readonly handler: "gui.PhotoBooth.onActionPoseBtn"; }; readonly petPosition: { readonly path: readonly ["_booth", "posBtn"]; readonly handler: "gui.PhotoBooth.onPetPosBtn"; readonly gray: readonly ["_booth", "posBtn", "isGray"]; }; readonly text: { readonly path: readonly ["_booth", "addTextBtn"]; readonly handler: "gui.PhotoBooth.onTextBtn"; }; readonly textToggle: { readonly path: readonly ["_booth", "bubbleLockToggle", "toggleBtn"]; readonly handler: "gui.PhotoBooth.onToggleBtn"; }; readonly photo: { readonly path: readonly ["_booth", "camBtn"]; readonly handler: "gui.PhotoBooth.onSaveBtn"; }; readonly customise: { readonly path: readonly ["_booth", "char"]; readonly handler: "gui.PhotoBooth.onCustomize"; }; }; }; playerEngagement: { readonly className: "gui.PlayerEngagement"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_engagementPopup"]; readonly art: readonly ["_engagementPopup"]; readonly open: { readonly call: "initPlayerEngagement"; readonly args: readonly [null]; }; readonly close: { readonly call: "closePlayerEngagement"; readonly args: readonly [false]; }; readonly hooks: { readonly open: "gui.PlayerEngagement.init"; readonly close: "gui.PlayerEngagement.destroy"; readonly ready: "gui.PlayerEngagement.onEngagementLoaded"; }; readonly buttons: { readonly den: { readonly path: readonly ["_engagementPopup", "denBtn"]; readonly handler: "gui.PlayerEngagement.onDenBtn"; }; readonly video: { readonly path: readonly ["_engagementPopup", "videoBtn"]; readonly handler: "gui.PlayerEngagement.onVideoBtn"; }; readonly shopping: { readonly path: readonly ["_engagementPopup", "shoppingBtn"]; readonly handler: "gui.PlayerEngagement.onShoppingBtn"; }; readonly games: { readonly path: readonly ["_engagementPopup", "gamesBtn"]; readonly handler: "gui.PlayerEngagement.onGamesBtn"; }; readonly adventure: { readonly path: readonly ["_engagementPopup", "advBtn"]; readonly handler: "gui.PlayerEngagement.onAdventureBtn"; }; readonly close: { readonly path: readonly ["_engagementPopup", "bx"]; readonly handler: "gui.PlayerEngagement.onCloseBtn"; }; }; }; reportAPlayer: { readonly className: "gui.ReportAPlayer"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly build: "gui.ReportAPlayer"; readonly closer: "onReportAPlayerClose"; readonly args: readonly [0, "$layer", "$closer", false, null, null, true, null, -1, 756, 130]; }; readonly close: { readonly call: "onReportAPlayerClose"; readonly args: readonly [false]; }; readonly hooks: { readonly open: "gui.ReportAPlayer.init"; readonly close: "gui.ReportAPlayer.destroy"; }; readonly buttons: { readonly close: { readonly path: readonly ["_reportPopup", "skin", "s", "bx"]; readonly handler: "gui.ReportAPlayer.onClose"; }; readonly rules: { readonly path: readonly ["_report", "rulesReportBtn"]; readonly handler: "gui.ReportAPlayer.onRules"; }; }; }; rules: { readonly className: "com.sbi.popup.SBPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "displayRulesPopup"; readonly args: readonly [true, null]; }; readonly close: { readonly call: "displayRulesPopup"; readonly args: readonly [false, null]; }; readonly hooks: { readonly open: "gui.GuiManager.displayRulesPopup"; readonly close: "gui.GuiManager.displayRulesPopup"; }; }; serverSelector: { readonly className: "com.sbi.popup.SBPopup"; readonly at: readonly [readonly ["gui.ServerSelector", "_serverAllPopup"]]; readonly shown: readonly ["visible"]; readonly close: { readonly static: readonly ["gui.ServerSelector", "destroy"]; }; readonly hooks: { readonly open: "gui.ServerSelector.init"; readonly close: "gui.ServerSelector.destroy"; }; }; settings: { readonly className: "gui.MySettings"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_mySettings"]; readonly art: readonly ["_mySettings"]; readonly open: { readonly build: "gui.MySettings"; readonly closer: "onMySettingsClose"; readonly args: readonly ["$layer", 740, 240, "$closer"]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.MySettings.init"; readonly close: "gui.MySettings.destroy"; }; readonly buttons: { readonly close: { readonly path: readonly ["_mySettings", "bx"]; readonly handler: "gui.MySettings.onClose"; }; }; }; startupPopups: { readonly className: "gui.StartupPopups"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "initMessagePopups"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.StartupPopups.init"; readonly close: "gui.StartupPopups.destroy"; }; readonly buttons: { readonly newMemberClose: { readonly path: readonly ["_newMemberPopup", "bx"]; readonly handler: "gui.StartupPopups.popupCloseHandler"; readonly shared: true; }; readonly newMemberFeatures: { readonly path: readonly ["_newMemberPopup", "featuresBtn"]; readonly handler: "gui.StartupPopups.newMemberFeaturesBtn"; }; readonly newMemberPlay: { readonly path: readonly ["_newMemberPopup", "playNowBtn"]; readonly handler: "gui.StartupPopups.popupCloseHandler"; readonly shared: true; }; readonly saveDiamonds: { readonly path: readonly ["_diamondRedeemPopup", "saveBtn"]; readonly handler: "gui.StartupPopups.onSaveDiamonds"; }; readonly redeemDiamonds: { readonly path: readonly ["_diamondRedeemPopup", "redeemBtn"]; readonly handler: "gui.StartupPopups.onRedeemDiamonds"; }; }; }; }[Name]["className"]>> | null>The screen's window as a typed place, for anything this area does not do itself: its class's members complete in the editor. Null when it is not open. Nothing is held.
Parameters
| Name | Type | |
|---|---|---|
name | Name |
Returns
Promise<TypedFlash<Declared<{ adventureJoin: { readonly className: "gui.AdventureJoin"; readonly at: readonly [readonly ["quest.QuestManager", "_adventureJoin"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.AdventureJoin.init"; readonly close: "gui.AdventureJoin.destroy"; readonly ready: "gui.AdventureJoin.onMediaLoaded"; }; readonly buttons: { readonly play: { readonly path: readonly ["_popup", "playBtn"]; readonly handler: "gui.AdventureJoin.onPlayBtn"; readonly gray: readonly ["_popup", "playBtn", "isGray"]; }; readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.AdventureJoin.onCloseBtn"; }; }; }; privateAdventureJoin: { readonly className: "gui.PrivateAdventureJoin"; readonly at: readonly [readonly ["quest.QuestManager", "_privateAdventureJoin"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.PrivateAdventureJoin.init"; readonly close: "gui.PrivateAdventureJoin.destroy"; readonly ready: "gui.PrivateAdventureJoin.onMediaLoaded"; }; readonly buttons: { readonly play: { readonly path: readonly ["_popup", "playBtn"]; readonly handler: "gui.PrivateAdventureJoin.onPlayBtn"; }; readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.PrivateAdventureJoin.onCloseBtn"; }; }; }; barrier: { readonly className: "gui.BarrierPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_barrierPopup", "parent", "visible"]; readonly art: readonly ["_barrierPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.BarrierPopup.init"; readonly close: "gui.BarrierPopup.destroy"; readonly ready: "gui.BarrierPopup.setupBarrier"; }; readonly buttons: { readonly close: { readonly path: readonly ["_barrierPopup", "bx"]; readonly handler: "gui.BarrierPopup.onBarrierClose"; }; }; }; bulkItems: { readonly className: "gui.BulkItemAcceptPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_bulkAcceptPopup", "visible"]; readonly art: readonly ["_bulkAcceptPopup"]; readonly closesTwice: true; readonly close: null; readonly hooks: { readonly open: "gui.BulkItemAcceptPopup.init"; readonly close: "gui.BulkItemAcceptPopup.destroy"; readonly ready: "gui.BulkItemAcceptPopup.onPopupLoaded"; }; readonly buttons: { readonly keep: { readonly path: readonly ["_keepBtn"]; readonly handler: "gui.BulkItemAcceptPopup.onKeepBtn"; readonly gray: readonly ["_keepBtn", "isGray"]; }; }; }; ecoPoints: { readonly className: "gui.EcoPointsPopup"; readonly at: readonly [readonly ["room.RoomManagerWorld", "_instance", "_denItems", "_ecoPointsPopup"]]; readonly ready: readonly ["_popup", "parent", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EcoPointsPopup.<constructor>"; readonly close: "gui.EcoPointsPopup.destroy"; readonly ready: "gui.EcoPointsPopup.onEcoItemLoaded"; }; readonly buttons: { readonly toggle: { readonly path: readonly ["_toggleBtn"]; readonly handler: "gui.EcoPointsPopup.onToggleBtn"; }; readonly info: { readonly path: readonly ["_infoBtn"]; readonly handler: "gui.EcoPointsPopup.onInfoBtn"; readonly shared: true; }; readonly shop: { readonly path: readonly ["_infoPopupEcoShopBtn"]; readonly handler: "gui.EcoPointsPopup.onShopBtn"; readonly shown: readonly ["_infoPopupCont", "visible"]; }; readonly score: { readonly path: readonly ["_viewEcoScoreBtn"]; readonly handler: "gui.EcoPointsPopup.onEcoScoreBtn"; }; readonly close: { readonly path: readonly ["_bx"]; readonly handler: "gui.EcoPointsPopup.onClose"; }; }; }; ecoScore: { readonly className: "gui.EcoScorePopup"; readonly at: readonly [readonly ["room.RoomManagerWorld", "_instance", "_denItems", "_ecoScorePopup"], readonly ["room.RoomManagerWorld", "_instance", "_denItems", "_ecoPointsPopup", "_ecoScorePopup"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EcoScorePopup.<constructor>"; readonly close: "gui.EcoScorePopup.destroy"; readonly ready: "gui.EcoScorePopup.onMediaLoaded"; }; readonly buttons: { readonly credits: { readonly path: readonly ["_getCreditBtn"]; readonly handler: "gui.EcoScorePopup.onGetCreditBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; readonly gray: readonly ["_getCreditBtn", "isGray"]; }; readonly gift: { readonly path: readonly ["_giftBtn"]; readonly handler: "gui.EcoScorePopup.onGiftBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly info: { readonly path: readonly ["_infoBtn"]; readonly handler: "gui.EcoScorePopup.onInfoBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly shop: { readonly path: readonly ["_shopCreditBtn"]; readonly handler: "gui.EcoScorePopup.onShopBtn"; }; readonly windTurbines: { readonly path: readonly ["_itemBlockOne"]; readonly handler: "gui.EcoScorePopup.onItemBlock"; readonly shared: true; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly solarPanels: { readonly path: readonly ["_itemBlockTwo"]; readonly handler: "gui.EcoScorePopup.onItemBlock"; readonly shared: true; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly consumers: { readonly path: readonly ["_consumerItemBtn"]; readonly handler: "gui.EcoScorePopup.onConsumerDetailBtn"; readonly shown: readonly ["_ecoSystemCont", "visible"]; }; readonly close: { readonly path: readonly ["_bx"]; readonly handler: "gui.EcoScorePopup.onClose"; }; }; }; eggHatched: { readonly className: "gui.EggPetHatchedPopup"; readonly at: readonly [readonly ["pet.EggPetGuiManager", "_eggPetHatchedPopup"]]; readonly ready: readonly ["_eggPetPopup", "visible"]; readonly art: readonly ["_eggPetPopup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EggPetHatchedPopup.<constructor>"; readonly close: "gui.EggPetHatchedPopup.destroy"; readonly ready: "gui.EggPetHatchedPopup.onMediaLoaded"; }; readonly buttons: { readonly ok: { readonly path: readonly ["_hatchedOkBtn"]; readonly handler: "gui.EggPetHatchedPopup.onOkBtn"; readonly shared: true; readonly shown: readonly ["_hatched", "visible"]; }; readonly accept: { readonly path: readonly ["_barrelOkBtn"]; readonly handler: "gui.EggPetHatchedPopup.onOkBtn"; readonly shared: true; readonly shown: readonly ["_nameBarrel", "visible"]; }; readonly lever: { readonly path: readonly ["_nameLever"]; readonly handler: "gui.EggPetHatchedPopup.onNameLever"; readonly shown: readonly ["_nameBarrel", "visible"]; }; readonly close: { readonly path: readonly ["_nameBarrelBx"]; readonly handler: "gui.EggPetHatchedPopup.onCloseBtn"; readonly shown: readonly ["_nameBarrel", "visible"]; }; }; }; eggPurchase: { readonly className: "gui.EggPetPurchasePopup"; readonly at: readonly [readonly ["pet.EggPetGuiManager", "_eggPetPurchasePopup"]]; readonly ready: readonly ["_eggPetPurchasePopup", "visible"]; readonly art: readonly ["_eggPetPurchasePopup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.EggPetPurchasePopup.<constructor>"; readonly close: "gui.EggPetPurchasePopup.destroy"; readonly ready: "gui.EggPetPurchasePopup.onPurchasePopupLoaded"; }; readonly buttons: { readonly buy: { readonly path: readonly ["_eggPetPurchasePopup", "buyBtn"]; readonly handler: "gui.EggPetPurchasePopup.OnBuyBtn"; }; readonly close: { readonly path: readonly ["_eggPetPurchasePopup", "bx"]; readonly handler: "gui.EggPetPurchasePopup.onClose"; }; }; }; emailConfirmation: { readonly className: "gui.EmailConfirmation"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_emailConfirmPopup", "visible"]; readonly art: readonly ["_emailConfirmPopup"]; readonly close: { readonly press: readonly ["entryClose", "close"]; }; readonly hooks: { readonly open: "gui.EmailConfirmation.init"; readonly close: "gui.EmailConfirmation.destroy"; readonly ready: "gui.EmailConfirmation.onPopupLoaded"; }; readonly buttons: { readonly ok: { readonly path: readonly ["_messagePopup", "okBtn"]; readonly handler: "gui.EmailConfirmation.onCloseBtn"; readonly shared: true; readonly shown: readonly ["_messagePopup", "visible"]; }; readonly changeEmail: { readonly path: readonly ["_messagePopup", "resendBtn"]; readonly handler: "gui.EmailConfirmation.onResendBtn"; readonly shared: true; readonly shown: readonly ["_messagePopup", "visible"]; }; readonly send: { readonly path: readonly ["_parentEmailPopup", "resendBtn"]; readonly handler: "gui.EmailConfirmation.onResendBtn"; readonly shared: true; readonly shown: readonly ["_parentEmailPopup", "visible"]; readonly gray: readonly ["_parentEmailPopup", "resendBtn", "isGray"]; }; readonly entryClose: { readonly path: readonly ["_parentEmailPopup", "bx"]; readonly handler: "gui.EmailConfirmation.onParentEmailClose"; readonly shown: readonly ["_parentEmailPopup", "visible"]; }; readonly close: { readonly path: readonly ["_messagePopup", "bx"]; readonly handler: "gui.EmailConfirmation.onCloseBtn"; readonly shared: true; readonly shown: readonly ["_messagePopup", "visible"]; }; }; }; externalLink: { readonly className: "gui.ExternalLinkPopup"; readonly at: readonly [readonly ["newspaper.NewspaperManager", "_newspaperPopup", "_externalLinkPopup"], readonly ["ecard.ECardManager", "_eCardInbox", "_externalLinkPopup"]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.ExternalLinkPopup.<constructor>"; readonly close: "gui.ExternalLinkPopup.destroy"; readonly ready: "gui.ExternalLinkPopup.onPopupLoaded"; }; readonly buttons: { readonly yes: { readonly path: readonly ["_popup", "yesBtn"]; readonly handler: "gui.ExternalLinkPopup.onYesNoBtn"; readonly shared: true; }; readonly no: { readonly path: readonly ["_popup", "noBtn"]; readonly handler: "gui.ExternalLinkPopup.onYesNoBtn"; readonly shared: true; }; readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.ExternalLinkPopup.onCloseBtn"; }; }; }; gameCard: { readonly className: "gui.GameCardPopup"; readonly at: readonly [readonly ["game.MinigameManager", "_gameCardPopup"]]; readonly ready: readonly ["_thePopup", "visible"]; readonly art: readonly ["_thePopup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.GameCardPopup.<constructor>"; readonly close: "gui.GameCardPopup.destroy"; readonly ready: "gui.GameCardPopup.onGameCardLoaded"; }; readonly buttons: { readonly start: { readonly path: readonly ["_joinGamePopup", "startBtn"]; readonly handler: "gui.GameCardPopup.onAnyStartClicked"; readonly shared: true; readonly gray: readonly ["_joinGamePopup", "startBtn", "isGray"]; }; readonly play: { readonly path: readonly ["_joinGamePopup", "startPlayBtn"]; readonly handler: "gui.GameCardPopup.onAnyStartClicked"; readonly shared: true; readonly gray: readonly ["_joinGamePopup", "startPlayBtn", "isGray"]; }; readonly proStart: { readonly path: readonly ["_joinGamePopup", "proStartBtn"]; readonly handler: "gui.GameCardPopup.onAnyStartClicked"; readonly shared: true; }; readonly instructions: { readonly path: readonly ["_joinGamePopup", "instrBtn"]; readonly handler: "gui.GameCardPopup.onInstructionsClicked"; }; readonly next: { readonly path: readonly ["_instructionsPopup", "nextBtn"]; readonly handler: "gui.GameCardPopup.nextHandler"; }; readonly back: { readonly path: readonly ["_instructionsPopup", "backBtn"]; readonly handler: "gui.GameCardPopup.backHandler"; }; readonly backToCard: { readonly path: readonly ["_instructionsPopup", "backToMainBtn"]; readonly handler: "gui.GameCardPopup.backBtnHandlerOnFirstScreen"; }; readonly close: { readonly path: readonly ["_thePopup", "bx"]; readonly handler: "gui.GameCardPopup.onClose"; }; }; }; imageDisplay: { readonly className: "gui.ImageDisplayPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly open: { readonly call: "openDisplayImagesPopup"; readonly args: readonly []; }; readonly close: { readonly press: readonly ["infoClose", "close"]; }; readonly hooks: { readonly open: "gui.ImageDisplayPopup.<constructor>"; readonly close: "gui.ImageDisplayPopup.destroy"; readonly ready: "gui.ImageDisplayPopup.onMediaLoaded"; }; readonly buttons: { readonly next: { readonly path: readonly ["_popup", "popupCont", "rArrow"]; readonly handler: "gui.ImageDisplayPopup.onArrow"; readonly shared: true; readonly gray: readonly ["_popup", "popupCont", "rArrow", "isGray"]; }; readonly previous: { readonly path: readonly ["_popup", "popupCont", "lArrow"]; readonly handler: "gui.ImageDisplayPopup.onArrow"; readonly shared: true; }; readonly info: { readonly path: readonly ["_popup", "popupCont", "infoBtn"]; readonly handler: "gui.ImageDisplayPopup.onInfo"; }; readonly infoClose: { readonly path: readonly ["_popup", "info", "xBtn"]; readonly handler: "gui.ImageDisplayPopup.onClose"; readonly shared: true; readonly shown: readonly ["_popup", "info", "visible"]; }; readonly close: { readonly path: readonly ["_popup", "popupCont", "xBtn"]; readonly handler: "gui.ImageDisplayPopup.onClose"; readonly shared: true; }; }; }; input: { readonly className: "gui.InputPopup"; readonly at: readonly [readonly ["playerWall.PlayerWallManager", "_myPlayerWall", "_inputPopup"], readonly ["playerWall.PlayerWallManager", "_strangersPlayerWall", "_inputPopup"]]; readonly ready: readonly ["_inputPopup", "visible"]; readonly art: readonly ["_inputPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.InputPopup.<constructor>"; readonly close: "gui.InputPopup.destroy"; readonly ready: "gui.InputPopup.onPopupLoaded"; }; readonly buttons: { readonly submit: { readonly path: readonly ["_inputPopup", "submitBtn"]; readonly handler: "gui.InputPopup.onSubmitBtn"; readonly gray: readonly ["_inputPopup", "submitBtn", "isGray"]; }; readonly close: { readonly path: readonly ["_inputPopup", "bx"]; readonly handler: "gui.InputPopup.onPopupClose"; }; }; }; itemPicker: { readonly className: "gui.DenAndClothesItemSelect"; readonly at: readonly [readonly ["gui.TradeManager", "_denClothesSelectPopup"], readonly [string, ...string[]], readonly ["ecard.ECardManager", "_eCardCreation", "_eCardClothes"], readonly ["shop.ShopManager", "_shop", "_itemSelect"]]; readonly shown: readonly ["_popup"]; readonly ready: readonly ["_popup"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.DenAndClothesItemSelect.init"; readonly close: "gui.DenAndClothesItemSelect.destroy"; readonly ready: "gui.DenAndClothesItemSelect.onPopupLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.DenAndClothesItemSelect.onClose"; }; }; }; itemReceived: { readonly className: "gui.ItemReceivedPopup"; readonly at: readonly [readonly ["game.MinigameManager", "_currentMinigameNonSwf", "_itemReceivedPopup"]]; readonly ready: readonly ["_itemReceivedPopup", "visible"]; readonly art: readonly ["_itemReceivedPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.ItemReceivedPopup.<constructor>"; readonly close: "gui.ItemReceivedPopup.destroy"; readonly ready: "gui.ItemReceivedPopup.onPopupLoaded"; }; readonly buttons: { readonly ok: { readonly path: readonly ["_okBtn"]; readonly handler: "gui.ItemReceivedPopup.onClose"; readonly shared: true; }; readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.ItemReceivedPopup.onClose"; readonly shared: true; }; }; }; prizeDescription: { readonly className: "com.sbi.popup.SBOkPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.GuiManager.onPrizeIconReceived"; readonly close: "gui.GuiManager.onPrizeDescOkDown"; }; }; referGift: { readonly className: "giftPopup.ReferAFriendGiftPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly call: "closePromoPopup"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GuiManager.openReferGiftPopup"; readonly close: "gui.GuiManager.destroyPromotionalPopup"; }; }; submissionRules: { readonly className: "gui.SubmissionRulesPopup"; readonly at: readonly [readonly ["game.MinigameManager", "_currentMinigameNonSwf", "_submissionRules"]]; readonly ready: readonly ["_submissionRulesPopup", "visible"]; readonly art: readonly ["_submissionRulesPopup"]; readonly closesTwice: true; readonly close: { readonly press: readonly ["tokenClose", "close"]; }; readonly hooks: { readonly open: "gui.SubmissionRulesPopup.<constructor>"; readonly close: "gui.SubmissionRulesPopup.destroy"; readonly ready: "gui.SubmissionRulesPopup.onPopupLoaded"; }; readonly buttons: { readonly buy: { readonly path: readonly ["_buyBtn"]; readonly handler: "gui.SubmissionRulesPopup.onBuyCancel"; readonly shared: true; }; readonly cancel: { readonly path: readonly ["_cancelBtn"]; readonly handler: "gui.SubmissionRulesPopup.onBuyCancel"; readonly shared: true; }; readonly diamonds: { readonly path: readonly ["_tokenPopupDiamondBtn"]; readonly handler: "gui.SubmissionRulesPopup.onTokenDiamondBtn"; readonly shown: readonly ["_tokenPopup", "visible"]; readonly gray: readonly ["_tokenPopupDiamondBtn", "isGray"]; }; readonly token: { readonly path: readonly ["_tokenPopupTokenBtn"]; readonly handler: "gui.SubmissionRulesPopup.onTokenBuyBtn"; readonly shown: readonly ["_tokenPopup", "visible"]; }; readonly tokenClose: { readonly path: readonly ["_tokenPopup", "bx"]; readonly shown: readonly ["_tokenPopup", "visible"]; }; readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.SubmissionRulesPopup.onClose"; }; }; }; welcomeToCarnival: { readonly className: "gui.WelcomeToCarnival"; readonly at: readonly [readonly ["room.RoomXtCommManager", "_welcomePopup"]]; readonly shown: readonly ["_popup", "visible"]; readonly ready: readonly ["_popup", "visible"]; readonly art: readonly ["_popup"]; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.WelcomeToCarnival.init"; readonly close: "gui.WelcomeToCarnival.destroy"; readonly ready: "gui.WelcomeToCarnival.mediaCallback"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.WelcomeToCarnival.popupCloseHandler"; }; }; }; avatarEditor: { readonly className: "gui.AvatarEditor"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openAvatarEditor"; readonly args: readonly [null, false]; }; readonly close: { readonly call: "onAvEditorClose"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.AvatarEditor.init"; readonly close: "gui.AvatarEditor.destroy"; }; }; avatarCreator: { readonly className: "createAccountGui.GuiAvatarCreationAssets"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openAvatarCreator"; readonly args: readonly [false, false, -1, false, null]; }; readonly close: { readonly call: "closeAvatarCreator"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GuiManager.openAvatarCreator"; readonly close: "gui.GuiManager.closeAvatarCreator"; }; }; avatarSwitcher: { readonly className: "gui.AvatarSwitcher"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_switchContent"]; readonly art: readonly ["_switchContent"]; readonly open: { readonly call: "openAvatarChoose"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.AvatarSwitcher.init"; readonly close: "gui.AvatarSwitcher.destroy"; readonly ready: "gui.AvatarSwitcher.onWindowsLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.AvatarSwitcher.onClose"; }; readonly recycle: { readonly path: readonly ["_switchContent", "recycleBtn"]; readonly handler: "gui.AvatarSwitcher.onRecycleDown"; readonly gray: readonly ["_switchContent", "recycleBtn", "gray", "visible"]; }; readonly newAnimal: { readonly path: readonly ["_switchContent", "newAmlTag", "newAmlBtn"]; readonly handler: "gui.AvatarSwitcher.onNewAmlTag"; readonly shown: readonly ["_switchContent", "newAmlTag", "visible"]; readonly gray: readonly ["_switchContent", "newAmlTag", "newAmlBtn", "isGray"]; }; readonly dismissMessage: { readonly path: readonly ["_switchContent", "oopsPopup", "closeBtn"]; readonly handler: "gui.AvatarSwitcher.onOopsClose"; readonly shown: readonly ["_switchContent", "oopsPopup", "visible"]; }; readonly saveChoice: { readonly path: readonly ["_switchContent", "saveAmlTag", "saveAmlBtn"]; readonly handler: "gui.AvatarSwitcher.onSaveAnimalsDown"; readonly shown: readonly ["_switchContent", "saveAmlTag", "visible"]; }; readonly confirmTwo: { readonly path: readonly ["_choosingContent", "amlsPopup", "okBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "amlsPopup", "visible"]; }; readonly cancelTwo: { readonly path: readonly ["_choosingContent", "amlsPopup", "noBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "amlsPopup", "visible"]; }; readonly confirmOne: { readonly path: readonly ["_choosingContent", "oneAmlPopup", "okBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "oneAmlPopup", "visible"]; }; readonly cancelOne: { readonly path: readonly ["_choosingContent", "oneAmlPopup", "noBtn"]; readonly handler: "gui.AvatarSwitcher.onChooseOkNoDown"; readonly shared: true; readonly shown: readonly ["_choosingContent", "oneAmlPopup", "visible"]; }; }; }; codeRedemption: { readonly className: "gameRedemption.CodeRedemptionPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openCodeRedemptionPopup"; readonly args: readonly [null]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gameRedemption.CodeRedemptionPopup.init"; readonly close: "gameRedemption.CodeRedemptionPopup.destroy"; }; }; dailySpinInfo: { readonly className: "flash.display.MovieClip"; readonly at: readonly [readonly [string, ...string[]]]; readonly shown: readonly ["parent"]; readonly open: { readonly call: "openDailySpinInfoPopup"; readonly args: readonly []; }; readonly close: { readonly handler: "onDiamondSpinInfoClose"; }; readonly hooks: { readonly open: "gui.GuiManager.onDiamondSpinInfoLoaded"; readonly close: "gui.GuiManager.onDiamondSpinInfoClose"; }; }; daysRemaining: { readonly className: "gui.ExpiringDaysPopup"; readonly at: readonly [readonly [string, ...string[]], readonly [string, ...string[]]]; readonly ready: readonly ["_expiringPopup", "visible"]; readonly art: readonly ["_expiringPopup"]; readonly open: { readonly call: "openDaysRemainingPopup"; readonly args: readonly []; }; readonly close: { readonly press: readonly ["close"]; }; readonly hooks: { readonly open: "gui.ExpiringDaysPopup.<constructor>"; readonly close: "gui.ExpiringDaysPopup.destroy"; readonly ready: "gui.ExpiringDaysPopup.onMediaLoaded"; }; readonly buttons: { readonly renew: { readonly path: readonly ["_expiringPopup", "renewBtn"]; readonly handler: "gui.ExpiringDaysPopup.onRenew"; }; readonly close: { readonly path: readonly ["_expiringPopup", "bx"]; readonly handler: "gui.ExpiringDaysPopup.popupCloseHandler"; }; }; }; demotionMessage: { readonly className: "gui.DemotionMessages"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_content"]; readonly art: readonly ["_content"]; readonly open: { readonly call: "initDemotionMessage"; readonly args: readonly [null]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.DemotionMessages.init"; readonly close: "gui.DemotionMessages.destroy"; readonly ready: "gui.DemotionMessages.demotionCallback"; }; readonly buttons: { readonly next: { readonly path: readonly ["_content", "nextBtn"]; readonly handler: "gui.DemotionMessages.nextBtnHandler"; }; readonly choose: { readonly path: readonly ["_content", "chooseBtn"]; readonly handler: "gui.DemotionMessages.chooseBtnHandler"; }; readonly noThanks: { readonly path: readonly ["_content", "noThanksBtn"]; readonly handler: "gui.DemotionMessages.demotionCloseHandler"; }; readonly sound: { readonly path: readonly ["_content", "soundBtn"]; readonly handler: "gui.DemotionMessages.soundBtnHandler"; }; }; }; denSwitcher: { readonly className: "gui.DenSwitcher"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_switchContent"]; readonly art: readonly ["_switchContent"]; readonly open: { readonly call: "openDenRoomSwitcher"; readonly args: readonly [false, null, false, -1, -1, -1]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.DenSwitcher.init"; readonly close: "gui.DenSwitcher.destroy"; readonly ready: "gui.DenSwitcher.buildWindows"; }; readonly buttons: { readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.DenSwitcher.onClose"; }; readonly recycle: { readonly path: readonly ["_switchContent", "recycleBtn"]; readonly handler: "gui.DenSwitcher.onRecycleDown"; readonly gray: readonly ["_switchContent", "recycleBtn", "gray", "visible"]; }; readonly moreDens: { readonly path: readonly ["_switchContent", "denShopTag", "denShopBtn"]; readonly handler: "gui.DenSwitcher.onMoreDenDown"; readonly shown: readonly ["_switchContent", "denShopTag", "visible"]; }; readonly dismissMessage: { readonly path: readonly ["_switchContent", "oopsPopup", "closeBtn"]; readonly handler: "gui.DenSwitcher.onOopsClose"; readonly shown: readonly ["_switchContent", "oopsPopup", "visible"]; }; }; }; diamondShopInfo: { readonly className: "flash.display.MovieClip"; readonly at: readonly [readonly [string, ...string[]]]; readonly shown: readonly ["parent"]; readonly open: { readonly call: "openDiamondShopInfo"; readonly args: readonly []; }; readonly close: { readonly handler: "onDiamondInfoClose"; }; readonly hooks: { readonly open: "gui.GuiManager.onDiamondInfoLoaded"; readonly close: "gui.GuiManager.onDiamondInfoClose"; }; }; differentVersion: { readonly className: "com.sbi.popup.SBOkPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openVersionPopup"; readonly args: readonly [false]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.GuiManager.openVersionPopup"; readonly close: "gui.GuiManager.onVersionPopupConfirm"; }; }; eBookChooser: { readonly className: "gui.EBookChooser"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_popup"]; readonly art: readonly ["_popup"]; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.EBookChooser.init"; readonly close: "gui.EBookChooser.destroy"; readonly ready: "gui.EBookChooser.onBookListLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "xBtn"]; readonly handler: "gui.EBookChooser.onClose"; }; }; }; gift: { readonly className: "giftPopup.GiftPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly call: "closePromoPopup"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GuiManager.openGiftPopup"; readonly close: "gui.GuiManager.destroyPromotionalPopup"; }; }; holidayBanner: { readonly className: "flash.display.MovieClip"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "openHolidayBanner"; readonly args: readonly []; }; readonly close: { readonly call: "onCloseHolidayBanner"; readonly args: readonly [null]; }; readonly hooks: { readonly open: "gui.GuiManager.onHolidayBannerLoaded"; readonly close: "gui.GuiManager.onCloseHolidayBanner"; }; }; jammerCentral: { readonly className: "gui.BulletinBoard"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_bulletinBoardPopup"]; readonly art: readonly ["_bulletinBoardPopup"]; readonly open: { readonly call: "openJammerCentral"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.BulletinBoard.init"; readonly close: "gui.BulletinBoard.destroy"; readonly ready: "gui.BulletinBoard.onMediaItemLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_bulletinBoardPopup", "bx"]; readonly handler: "gui.BulletinBoard.onPopupClose"; readonly shared: true; }; readonly playVideo: { readonly path: readonly ["_bulletinBoardPopup", "playMovBtn"]; readonly handler: "gui.BulletinBoard.onPlayMovieDown"; readonly shared: true; }; readonly whatsNew: { readonly path: readonly ["_bulletinBoardPopup", "whatsNewBtn"]; readonly handler: "gui.BulletinBoard.onWhatsNewBtnDown"; }; readonly gallery: { readonly path: readonly ["_bulletinBoardPopup", "masterpieceGallery"]; readonly handler: "gui.BulletinBoard.onMasterpieceDown"; }; readonly submitArt: { readonly path: readonly ["_bulletinBoardPopup", "submitWorkBtn"]; readonly handler: "gui.BulletinBoard.onSubmitWorkDown"; }; readonly whatsNewClose: { readonly path: readonly ["_whatsNewPopup", "bx"]; readonly handler: "gui.BulletinBoard.onPopupClose"; readonly shared: true; readonly shown: readonly ["_whatsNewPopup", "parent"]; }; readonly whatsNewPrevious: { readonly path: readonly ["_whatsNewPopup", "leftBtn"]; readonly handler: "gui.BulletinBoard.onLeftRightWhatsNew"; readonly shared: true; readonly shown: readonly ["_whatsNewPopup", "parent"]; }; readonly whatsNewNext: { readonly path: readonly ["_whatsNewPopup", "rightBtn"]; readonly handler: "gui.BulletinBoard.onLeftRightWhatsNew"; readonly shared: true; readonly shown: readonly ["_whatsNewPopup", "parent"]; }; readonly galleryClose: { readonly path: readonly ["_artGalleryPopup", "bx"]; readonly handler: "gui.BulletinBoard.onPopupClose"; readonly shared: true; readonly shown: readonly ["_artGalleryPopup", "parent"]; }; readonly galleryPrevious: { readonly path: readonly ["_artGalleryPopup", "lBtn"]; readonly handler: "gui.BulletinBoard.onGalleryLeftRightDown"; readonly shared: true; readonly shown: readonly ["_artGalleryPopup", "parent"]; }; readonly galleryNext: { readonly path: readonly ["_artGalleryPopup", "rBtn"]; readonly handler: "gui.BulletinBoard.onGalleryLeftRightDown"; readonly shared: true; readonly shown: readonly ["_artGalleryPopup", "parent"]; }; }; }; joinGames: { readonly className: "gui.GameJoinPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_joinPopup"]; readonly art: readonly ["_joinPopup"]; readonly open: { readonly call: "openJoinGamesPopup"; readonly args: readonly []; }; readonly close: { readonly call: "closeJoinGamesPopup"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.GameJoinPopup.<constructor>"; readonly close: "gui.GameJoinPopup.destroy"; readonly ready: "gui.GameJoinPopup.onWindowsLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_joinPopup", "bx"]; readonly handler: "gui.GameJoinPopup.onClosePopup"; }; }; }; journeyBook: { readonly className: "gui.PageFlip"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_pageFlipBase"]; readonly art: readonly ["_pageFlipBase"]; readonly open: { readonly call: "openJourneyBook"; readonly args: readonly [-1]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.PageFlip.init"; readonly close: "gui.PageFlip.destroy"; readonly ready: "gui.PageFlip.openPageFlip"; }; readonly buttons: { readonly zoom: { readonly path: readonly ["_zoomBtn"]; readonly handler: "gui.PageFlip.magnify"; }; readonly dismissInfo: { readonly path: readonly ["_infoPopup", "bx"]; readonly handler: "gui.PageFlip.onInfoPopupClose"; }; }; }; masterpiecePreview: { readonly className: "gui.MasterpiecePreview"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_previewPopup", "parent"]; readonly close: { readonly call: "closeMasterpiecePreview"; readonly args: readonly []; }; readonly hooks: { readonly open: "gui.MasterpiecePreview.<constructor>"; readonly close: "gui.MasterpiecePreview.destroy"; readonly ready: "gui.MasterpiecePreview.completeSettingUp"; }; readonly buttons: { readonly close: { readonly path: readonly ["_closeBtn"]; readonly handler: "gui.MasterpiecePreview.onCloseBtn"; }; readonly buy: { readonly path: readonly ["_buyBtnGreen"]; readonly handler: "gui.MasterpiecePreview.onBuyBtn"; readonly shared: true; }; readonly like: { readonly path: readonly ["_currFrame", "likeBtn"]; readonly handler: "gui.MasterpiecePreview.onLikeBtn"; }; readonly report: { readonly path: readonly ["_currFrame", "report_btn"]; readonly handler: "gui.MasterpiecePreview.onReportDown"; readonly shown: readonly ["_currFrame", "nameBar", "mouseEnabled"]; }; readonly creator: { readonly path: readonly ["_currFrame", "nameBar"]; readonly handler: "gui.MasterpiecePreview.onNameBarDown"; readonly shown: readonly ["_currFrame", "nameBar", "mouseEnabled"]; }; }; }; museumDonation: { readonly className: "gui.MuseumDonation"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_popup"]; readonly art: readonly ["_popup"]; readonly open: { readonly call: "openMuseumDonation"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.MuseumDonation.init"; readonly close: "gui.MuseumDonation.destroy"; readonly ready: "gui.MuseumDonation.onMediaLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_popup", "bx"]; readonly handler: "gui.MuseumDonation.onClose"; }; readonly more: { readonly path: readonly ["_popup", "upBtn"]; readonly handler: "gui.MuseumDonation.onUpBtn"; }; readonly less: { readonly path: readonly ["_popup", "downBtn"]; readonly handler: "gui.MuseumDonation.onDownBtn"; }; readonly donate: { readonly path: readonly ["_popup", "donateBtn"]; readonly handler: "gui.MuseumDonation.onDonateBtn"; readonly shared: true; readonly gray: readonly ["_popup", "donateBtn", "isGray"]; }; readonly cause1: { readonly path: readonly ["_popup", "radioBtn1"]; readonly handler: "gui.MuseumDonation.onRadioBtn"; readonly shared: true; }; readonly cause2: { readonly path: readonly ["_popup", "radioBtn2"]; readonly handler: "gui.MuseumDonation.onRadioBtn"; readonly shared: true; }; readonly cause3: { readonly path: readonly ["_popup", "radioBtn3"]; readonly handler: "gui.MuseumDonation.onRadioBtn"; readonly shared: true; }; }; }; petCertificate: { readonly className: "pet.PetCertificatePopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.GuiManager.openPetCertificatePopup"; readonly close: "gui.GuiManager.onPetCertificateClose"; }; }; petInventory: { readonly className: "gui.PetInventory"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_inventoryMC"]; readonly art: readonly ["_inventoryMC"]; readonly open: { readonly build: "gui.PetInventory"; readonly closer: "onPetInventoryClose"; readonly args: readonly ["$closer"]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.PetInventory.init"; readonly close: "gui.PetInventory.destroy"; readonly ready: "gui.PetInventory.createItemWindows"; }; readonly buttons: { readonly close: { readonly path: readonly ["_inventoryMC", "bx"]; readonly handler: "gui.PetInventory.onClose"; }; readonly recycle: { readonly path: readonly ["_inventoryMC", "cageBtn"]; readonly handler: "gui.PetInventory.onCageBtn"; }; readonly mastery: { readonly path: readonly ["_inventoryMC", "bMastery"]; readonly handler: "gui.PetInventory.onMasteryBtn"; }; readonly shop: { readonly path: readonly ["_inventoryMC", "shopBtn"]; readonly handler: "gui.PetInventory.onShopBtn"; }; readonly salon: { readonly path: readonly ["_inventoryMC", "salonBtn"]; readonly handler: "gui.PetInventory.onSalonBtn"; }; readonly checklist: { readonly path: readonly ["_inventoryMC", "checklistBtn"]; readonly handler: "gui.PetInventory.onChecklistBtn"; }; readonly certificate: { readonly path: readonly ["_inventoryMC", "certBtn"]; readonly handler: "gui.PetInventory.onCertBtn"; }; }; }; photoBooth: { readonly className: "gui.PhotoBooth"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_booth"]; readonly art: readonly ["_booth"]; readonly open: { readonly call: "openPhotoBooth"; readonly args: readonly [null, false]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.PhotoBooth.init"; readonly close: "gui.PhotoBooth.destroy"; readonly ready: "gui.PhotoBooth.onMediaLoaded"; }; readonly buttons: { readonly close: { readonly path: readonly ["_booth", "bx"]; readonly handler: "gui.PhotoBooth.onClose"; }; readonly previousBackground: { readonly path: readonly ["_booth", "leftBtn"]; readonly handler: "gui.PhotoBooth.onLeftRightBtn"; readonly shared: true; }; readonly nextBackground: { readonly path: readonly ["_booth", "rightBtn"]; readonly handler: "gui.PhotoBooth.onLeftRightBtn"; readonly shared: true; }; readonly flip: { readonly path: readonly ["_booth", "actionPose"]; readonly handler: "gui.PhotoBooth.onActionPoseBtn"; }; readonly petPosition: { readonly path: readonly ["_booth", "posBtn"]; readonly handler: "gui.PhotoBooth.onPetPosBtn"; readonly gray: readonly ["_booth", "posBtn", "isGray"]; }; readonly text: { readonly path: readonly ["_booth", "addTextBtn"]; readonly handler: "gui.PhotoBooth.onTextBtn"; }; readonly textToggle: { readonly path: readonly ["_booth", "bubbleLockToggle", "toggleBtn"]; readonly handler: "gui.PhotoBooth.onToggleBtn"; }; readonly photo: { readonly path: readonly ["_booth", "camBtn"]; readonly handler: "gui.PhotoBooth.onSaveBtn"; }; readonly customise: { readonly path: readonly ["_booth", "char"]; readonly handler: "gui.PhotoBooth.onCustomize"; }; }; }; playerEngagement: { readonly className: "gui.PlayerEngagement"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_engagementPopup"]; readonly art: readonly ["_engagementPopup"]; readonly open: { readonly call: "initPlayerEngagement"; readonly args: readonly [null]; }; readonly close: { readonly call: "closePlayerEngagement"; readonly args: readonly [false]; }; readonly hooks: { readonly open: "gui.PlayerEngagement.init"; readonly close: "gui.PlayerEngagement.destroy"; readonly ready: "gui.PlayerEngagement.onEngagementLoaded"; }; readonly buttons: { readonly den: { readonly path: readonly ["_engagementPopup", "denBtn"]; readonly handler: "gui.PlayerEngagement.onDenBtn"; }; readonly video: { readonly path: readonly ["_engagementPopup", "videoBtn"]; readonly handler: "gui.PlayerEngagement.onVideoBtn"; }; readonly shopping: { readonly path: readonly ["_engagementPopup", "shoppingBtn"]; readonly handler: "gui.PlayerEngagement.onShoppingBtn"; }; readonly games: { readonly path: readonly ["_engagementPopup", "gamesBtn"]; readonly handler: "gui.PlayerEngagement.onGamesBtn"; }; readonly adventure: { readonly path: readonly ["_engagementPopup", "advBtn"]; readonly handler: "gui.PlayerEngagement.onAdventureBtn"; }; readonly close: { readonly path: readonly ["_engagementPopup", "bx"]; readonly handler: "gui.PlayerEngagement.onCloseBtn"; }; }; }; reportAPlayer: { readonly className: "gui.ReportAPlayer"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly build: "gui.ReportAPlayer"; readonly closer: "onReportAPlayerClose"; readonly args: readonly [0, "$layer", "$closer", false, null, null, true, null, -1, 756, 130]; }; readonly close: { readonly call: "onReportAPlayerClose"; readonly args: readonly [false]; }; readonly hooks: { readonly open: "gui.ReportAPlayer.init"; readonly close: "gui.ReportAPlayer.destroy"; }; readonly buttons: { readonly close: { readonly path: readonly ["_reportPopup", "skin", "s", "bx"]; readonly handler: "gui.ReportAPlayer.onClose"; }; readonly rules: { readonly path: readonly ["_report", "rulesReportBtn"]; readonly handler: "gui.ReportAPlayer.onRules"; }; }; }; rules: { readonly className: "com.sbi.popup.SBPopup"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "displayRulesPopup"; readonly args: readonly [true, null]; }; readonly close: { readonly call: "displayRulesPopup"; readonly args: readonly [false, null]; }; readonly hooks: { readonly open: "gui.GuiManager.displayRulesPopup"; readonly close: "gui.GuiManager.displayRulesPopup"; }; }; serverSelector: { readonly className: "com.sbi.popup.SBPopup"; readonly at: readonly [readonly ["gui.ServerSelector", "_serverAllPopup"]]; readonly shown: readonly ["visible"]; readonly close: { readonly static: readonly ["gui.ServerSelector", "destroy"]; }; readonly hooks: { readonly open: "gui.ServerSelector.init"; readonly close: "gui.ServerSelector.destroy"; }; }; settings: { readonly className: "gui.MySettings"; readonly at: readonly [readonly [string, ...string[]]]; readonly ready: readonly ["_mySettings"]; readonly art: readonly ["_mySettings"]; readonly open: { readonly build: "gui.MySettings"; readonly closer: "onMySettingsClose"; readonly args: readonly ["$layer", 740, 240, "$closer"]; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.MySettings.init"; readonly close: "gui.MySettings.destroy"; }; readonly buttons: { readonly close: { readonly path: readonly ["_mySettings", "bx"]; readonly handler: "gui.MySettings.onClose"; }; }; }; startupPopups: { readonly className: "gui.StartupPopups"; readonly at: readonly [readonly [string, ...string[]]]; readonly open: { readonly call: "initMessagePopups"; readonly args: readonly []; }; readonly close: { readonly destroy: true; }; readonly hooks: { readonly open: "gui.StartupPopups.init"; readonly close: "gui.StartupPopups.destroy"; }; readonly buttons: { readonly newMemberClose: { readonly path: readonly ["_newMemberPopup", "bx"]; readonly handler: "gui.StartupPopups.popupCloseHandler"; readonly shared: true; }; readonly newMemberFeatures: { readonly path: readonly ["_newMemberPopup", "featuresBtn"]; readonly handler: "gui.StartupPopups.newMemberFeaturesBtn"; }; readonly newMemberPlay: { readonly path: readonly ["_newMemberPopup", "playNowBtn"]; readonly handler: "gui.StartupPopups.popupCloseHandler"; readonly shared: true; }; readonly saveDiamonds: { readonly path: readonly ["_diamondRedeemPopup", "saveBtn"]; readonly handler: "gui.StartupPopups.onSaveDiamonds"; }; readonly redeemDiamonds: { readonly path: readonly ["_diamondRedeemPopup", "redeemBtn"]; readonly handler: "gui.StartupPopups.onRedeemDiamonds"; }; }; }; }[Name]["className"]>> \| null>
Types
TypedFlash · FlashRead · FlashWrite · HoldOptions · HookTest · FlashArgumentLike · FlashPlace · FlashValue · FlashArgument · FlashData · AnyFlash · FlashMethod · FlashConstructor · Declared
Example
const booth = await phantom.aj.screens.place('photoBooth');
if (booth) await booth._flip.$set(true);press
press<Name extends ScreenName>(name: Name, button: ScreenButton<Name>, options?: ActOptions) => Promise<ScreenPress>Presses one of a screen's buttons as the player does, and resolves once the client's own handler has heard it. Throws NOT_READY when the screen is not open or still loading, and REFUSED for a button hidden, greyed out or not listening.
Parameters
| Name | Type | |
|---|---|---|
name | Name | |
button | ScreenButton<Name> | |
options optional | ActOptions |
Returns
Promise<ScreenPress>
Types
text
text(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival") => Promise<string[]>The words a screen shows, every visible field in its art, in the order it draws them.
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" |
Returns
Promise<string[]>
waitFor
waitFor(name: "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival", options?: ActOptions & { ready?: boolean | undefined; }) => Promise<Screen>Waits for a screen to open (and its art to come in, unless ready: false).
Parameters
| Name | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" | |
options optional | ActOptions & { ready?: boolean | undefined; } |
Returns
Promise<Screen>
Types
Events
onClose
onClose(listener: (event: ScreenEvent) => void, filter?: ScreenFilter) => () => voidHears screens close, as the window's own destroy (or close) runs.
Parameters
| Name | Type | |
|---|---|---|
listener | (event: ScreenEvent) => void | |
filter optional | ScreenFilter |
Returns
() => void. Call it to stop listening.
Types
onOpen
onOpen(listener: (event: ScreenEvent) => void, filter?: ScreenFilter) => () => voidHears screens open, as the window's own init (or constructor) runs.
Parameters
| Name | Type | |
|---|---|---|
listener | (event: ScreenEvent) => void | |
filter optional | ScreenFilter |
Returns
() => void. Call it to stop listening.
Types
onPress
onPress(listener: (press: ScreenPress) => void, filter?: ScreenFilter) => () => voidHears the player press screens' buttons, told by button, read inside the client's handler.
Parameters
| Name | Type | |
|---|---|---|
listener | (press: ScreenPress) => void | |
filter optional | ScreenFilter |
Returns
() => void. Call it to stop listening.
Types
onReady
onReady(listener: (event: ScreenEvent) => void, filter?: ScreenFilter) => () => voidHears screens finish loading their art and become usable.
Parameters
| Name | Type | |
|---|---|---|
listener | (event: ScreenEvent) => void | |
filter optional | ScreenFilter |
Returns
() => void. Call it to stop listening.
Types
screens.loading
The client's loading screen (loadProgress.LoadProgress) and its loading spiral: phantom.aj.screens.loading. The client puts it up from the first resource to the room being drawn, and again for every room it joins.
isShown
isShown() => Promise<boolean>Whether the loading screen is up.
Returns
Promise<boolean>
say
say(words: string, options?: ActOptions) => Promise<void>Writes words on the loading screen, under its bar. Only this screen changes.
Parameters
| Name | Type | |
|---|---|---|
words | string | |
options optional | ActOptions |
Returns
Promise<void>
Types
setProgress
setProgress(progress: number, options?: ActOptions) => Promise<void>Moves the loading screen's bar to a step (updateProgress).
Parameters
| Name | Type | |
|---|---|---|
progress | number | |
options optional | ActOptions |
Returns
Promise<void>
Types
setShown
setShown(shown: boolean, options?: ActOptions) => Promise<void>Puts the loading screen up or takes it down, as the client does between rooms.
Parameters
| Name | Type | |
|---|---|---|
shown | boolean | |
options optional | ActOptions |
Returns
Promise<void>
Types
setSpinner
setSpinner(shown: boolean, options?: ActOptions) => Promise<void>Shows or hides the spiral the client puts over the room while it waits on the server.
Parameters
| Name | Type | |
|---|---|---|
shown | boolean | |
options optional | ActOptions |
Returns
Promise<void>
Types
onChange
onChange(listener: (change: LoadingChange) => void) => () => voidHears the loading screen go up and come down (LoadProgress.show).
Parameters
| Name | Type | |
|---|---|---|
listener | (change: LoadingChange) => void |
Returns
() => void. Call it to stop listening.
Types
onProgress
onProgress(listener: (progress: LoadingProgress) => void) => () => voidHears each step the client reaches while it loads (LoadProgress.updateProgress).
Parameters
| Name | Type | |
|---|---|---|
listener | (progress: LoadingProgress) => void |
Returns
() => void. Call it to stop listening.
Types
onSpinner
onSpinner(listener: (shown: boolean) => void) => () => voidHears the client show or hide its waiting spiral (DarkenManager.showLoadingSpiral).
Parameters
| Name | Type | |
|---|---|---|
listener | (shown: boolean) => void |
Returns
() => void. Call it to stop listening.
screens.startup
What the client shows at login: the gifts, membership notices and welcome popups it queues (gui.StartupPopups), the Jamaa Journal and banners it opens, and the first five minutes' tutorial: phantom.aj.screens.startup.
checkForGifts
checkForGifts(options?: ActOptions) => Promise<void>Asks the server again for gifts waiting (GuiManager.setupInGameRedemptions).
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<void>
Types
current
current() => Promise<StartupState>Where the login popups stand; empty counts before the client has made them.
Returns
Promise<StartupState>
Types
isInTutorial
isInTutorial() => Promise<boolean>Whether the player is in the first five minutes' tutorial (GuiManager.isInFFM).
Returns
Promise<boolean>
next
next(options?: ActOptions) => Promise<void>Moves on to the next login popup (StartupPopups.loadNextPopup).
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<void>
Types
skipAtLogin
skipAtLogin(popups?: readonly LoginPopup[], { onSkipped }?: { onSkipped?: ((popup: LoginPopup) => void) | undefined; }) => Promise<LoginSkip>Leaves out popups the client opens at login (the Jamaa Journal, the holiday banner, the Adopt a Pet introduction) until the handle is called. Their buttons still open them.
Parameters
| Name | Type | |
|---|---|---|
popups optional | readonly LoginPopup[] | |
__1 optional | { onSkipped?: ((popup: LoginPopup) => void) | undefined; } |
Returns
Promise<LoginSkip>
Types
Example
skipQueued
skipQueued(options?: ActOptions) => Promise<void>Leaves out every login popup still queued, gifts included (they stay waiting on the server for the next login), and lets the client finish as though the player had closed them all.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<void>
Types
startTutorial
startTutorial(options?: ActOptions) => Promise<void>Starts the first five minutes' tutorial (GuiManager.startFFM).
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<void>
Types
onGift
onGift(listener: (change: StartupGiftChange) => void) => () => voidHears a login gift shown, the player's answer, and the server taking it.
Parameters
| Name | Type | |
|---|---|---|
listener | (change: StartupGiftChange) => void |
Returns
() => void. Call it to stop listening.
Types
onPopup
onPopup(listener: (kind: "done" | StartupPopupKind) => void) => () => voidHears each login popup about to show, and done once the last has gone.
Parameters
| Name | Type | |
|---|---|---|
listener | (kind: "done" | StartupPopupKind) => void |
Returns
() => void. Call it to stop listening.
Types
onStage
onStage(listener: (stage: StartupStage) => void) => () => voidHears each step the login popups go through, from being asked for to all gone.
Parameters
| Name | Type | |
|---|---|---|
listener | (stage: StartupStage) => void |
Returns
() => void. Call it to stop listening.
Types
onTutorialStart
onTutorialStart(listener: () => void) => () => voidHears the tutorial start.
Parameters
| Name | Type | |
|---|---|---|
listener | () => void |
Returns
() => void. Call it to stop listening.
screens.photoBooth
The photo booth: phantom.aj.screens.photoBooth.
current
current() => Promise<PhotoBoothView | null>The booth as it stands, or null when it is not open or its art is not in.
Returns
Promise<PhotoBoothView \| null>
Types
phrases
phrases() => Promise<string[]>The phrases the booth offers for the speech bubble (SafeChatManager.photoBoothNodes).
Returns
Promise<string[]>
redraw
redraw(options?: ActOptions) => Promise<PhotoBoothView>Draws the player's animal again, as the booth does after the avatar editor closes.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
setAnimal
setAnimal(userName: string | null, options?: ActOptions) => Promise<PhotoBoothView>Puts another animal in the room into the booth (loadDebugAvatar), or the player back with null. Only this screen changes.
Parameters
| Name | Type | |
|---|---|---|
userName | string | null | |
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
setBackground
setBackground(background: number, options?: ActOptions) => Promise<PhotoBoothView>Shows one of the booth's backdrops, from 1.
Parameters
| Name | Type | |
|---|---|---|
background | number | |
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
setFlipped
setFlipped(flipped: boolean, options?: ActOptions) => Promise<PhotoBoothView>Turns the animal round, as the pose button does.
Parameters
| Name | Type | |
|---|---|---|
flipped | boolean | |
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
setPetPosition
setPetPosition(position: number, options?: ActOptions) => Promise<PhotoBoothView>Moves the pet to one of its four places, pressing its button as many times as it takes.
Parameters
| Name | Type | |
|---|---|---|
position | number | |
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
setText
setText(phrase: string, options?: ActOptions) => Promise<PhotoBoothView>Puts one of the booth's own phrases in the speech bubble, as picking it does.
Parameters
| Name | Type | |
|---|---|---|
phrase | string | |
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
setTextShown
setTextShown(shown: boolean, options?: ActOptions) => Promise<PhotoBoothView>Shows or hides the speech bubble, as its lock toggle does.
Parameters
| Name | Type | |
|---|---|---|
shown | boolean | |
options optional | ActOptions |
Returns
Promise<PhotoBoothView>
Types
onChange
onChange(listener: (booth: PhotoBoothView) => void) => () => voidHears the booth ready and each change made in it, with the booth as it then stands.
Parameters
| Name | Type | |
|---|---|---|
listener | (booth: PhotoBoothView) => void |
Returns
() => void. Call it to stop listening.
Types
onPhoto
onPhoto(listener: (stage: PhotoStage) => void) => () => voidHears a photo go through the booth: asked for, taken, encoded, saved.
Parameters
| Name | Type | |
|---|---|---|
listener | (stage: PhotoStage) => void |
Returns
() => void. Call it to stop listening.
Types
screens.jammerCentral
Jammer Central, its What's New pictures and its masterpiece gallery, and the masterpiece preview: phantom.aj.screens.jammerCentral.
current
current() => Promise<JammerCentralView | null>The board as it stands, or null when it is not open or its art is not in.
Returns
Promise<JammerCentralView \| null>
Types
gallery
gallery() => Promise<GalleryMasterpiece[]>The gallery's masterpieces, as the board has them, the pool then the members' pool.
Returns
Promise<GalleryMasterpiece[]>
Types
preview
preview() => Promise<MasterpiecePreviewView | null>The masterpiece open in a preview, on its own or over the gallery, or null.
Returns
Promise<MasterpiecePreviewView \| null>
Types
setLikes
setLikes(likes: number, options?: ActOptions) => Promise<void>Shows a number of likes on the preview open. Only this screen changes.
Parameters
| Name | Type | |
|---|---|---|
likes | number | |
options optional | ActOptions |
Returns
Promise<void>
Types
showGalleryPage
showGalleryPage(page: number, options?: ActOptions) => Promise<void>Shows one of the gallery's pages, from 0. The gallery has to be open and not loading.
Parameters
| Name | Type | |
|---|---|---|
page | number | |
options optional | ActOptions |
Returns
Promise<void>
Types
showWhatsNew
showWhatsNew(index: number, options?: ActOptions) => Promise<void>Shows one of What's New's pictures, from 0. What's New has to be open.
Parameters
| Name | Type | |
|---|---|---|
index | number | |
options optional | ActOptions |
Returns
Promise<void>
Types
onChange
onChange(listener: (board: Omit<JammerCentralView, "galleryPages">) => void) => () => voidHears the board change: loaded, What's New and the gallery opened, turned and closed.
Parameters
| Name | Type | |
|---|---|---|
listener | (board: Omit<JammerCentralView, "galleryPages">) => void |
Returns
() => void. Call it to stop listening.
Types
onPreview
onPreview(listener: (change: { imageId: string; likes: number | null; }) => void) => () => voidHears a masterpiece preview's picture arrive and its likes change.
Parameters
| Name | Type | |
|---|---|---|
listener | (change: { imageId: string; likes: number | null; }) => void |
Returns
() => void. Call it to stop listening.
screens.museum
The museum's donation window: phantom.aj.screens.museum.
current
current() => Promise<MuseumDonationView | null>The donation window as it stands, or null when it is not open or its art is not in.
Returns
Promise<MuseumDonationView \| null>
Types
donate
donate(options?: ActOptions) => Promise<{ ok: boolean; amount: number; }>Gives the donation, as its button does, and resolves with whether the server took it (onDonateDone) and how much was asked.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<{ ok: boolean; amount: number; }>
Types
setAmount
setAmount(amount: number, options?: ActOptions) => Promise<MuseumDonationView>Sets the amount to give, one of the window's own steps, as its arrows would.
Parameters
| Name | Type | |
|---|---|---|
amount | number | |
options optional | ActOptions |
Returns
Promise<MuseumDonationView>
Types
setCause
setCause(cause: number, options?: ActOptions) => Promise<MuseumDonationView>Picks one of the three causes, from 1, as its radio button does.
Parameters
| Name | Type | |
|---|---|---|
cause | number | |
options optional | ActOptions |
Returns
Promise<MuseumDonationView>
Types
onDonated
onDonated(listener: (donated: { ok: boolean; amount: number; }) => void) => () => voidHears the server answer a donation (MuseumDonation.onDonateDone).
Parameters
| Name | Type | |
|---|---|---|
listener | (donated: { ok: boolean; amount: number; }) => void |
Returns
() => void. Call it to stop listening.
screens.settings
The settings window, and the membership demotion message: phantom.aj.screens.settings.
current
current() => Promise<SettingsView | null>The settings window as it stands, or null when it is not open.
Returns
Promise<SettingsView \| null>
Types
demotion
demotion() => Promise<DemotionMessageView | null>The demotion message, or null when it is not open or its art is not in.
Returns
Promise<DemotionMessageView \| null>
Types
refresh
refresh(options?: ActOptions) => Promise<number>Draws every row again from what is set now (ItemWindowToggle.resetConditions).
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<number>
Types
toggle
toggle(row: string, options?: ActOptions) => Promise<void>Presses one row's toggle, by its frame name (music), as the player would.
Parameters
| Name | Type | |
|---|---|---|
row | string | |
options optional | ActOptions |
Returns
Promise<void>
Types
onDemotionPage
onDemotionPage(listener: (page: number) => void) => () => voidHears the demotion message turn a page.
Parameters
| Name | Type | |
|---|---|---|
listener | (page: number) => void |
Returns
() => void. Call it to stop listening.
screens.forms
The game's small forms: the player wall's text box, the parent email, the external link warning and the masterpiece rules: phantom.aj.screens.forms.
answerExternalLink
answerExternalLink(go: boolean, options?: ActOptions) => Promise<ExternalLinkForm>Answers the external link warning: go, or stay.
Parameters
| Name | Type | |
|---|---|---|
go | boolean | |
options optional | ActOptions |
Returns
Promise<ExternalLinkForm>
Types
email
email() => Promise<EmailForm | null>The parent email confirmation, or null when it is not open.
Returns
Promise<EmailForm \| null>
Types
externalLink
externalLink() => Promise<ExternalLinkForm | null>The external link warning, with where it leads, or null when it is not open.
Returns
Promise<ExternalLinkForm \| null>
Types
input
input() => Promise<InputForm | null>The player wall's text box, or null when it is not open.
Returns
Promise<InputForm \| null>
Types
submissionRules
submissionRules() => Promise<SubmissionRulesForm | null>The masterpiece submission rules, or null when they are not open.
Returns
Promise<SubmissionRulesForm \| null>
Types
submitInput
submitInput(options?: ActOptions) => Promise<InputForm>Submits the player wall's text box, as its button does. Refused while it is empty.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<InputForm>
Types
typeEmail
typeEmail(email: string, options?: ActOptions) => Promise<EmailForm>Types an email in the confirmation's entry, as the player would, so it checks it.
Parameters
| Name | Type | |
|---|---|---|
email | string | |
options optional | ActOptions |
Returns
Promise<EmailForm>
Types
typeInput
typeInput(text: string, options?: ActOptions) => Promise<InputForm>Types in the player wall's text box as the player would: cut to its length, put through the approved words typist, and the counter moved on. Resolves with the box as it then stands.
Parameters
| Name | Type | |
|---|---|---|
text | string | |
options optional | ActOptions |
Returns
Promise<InputForm>
Types
screens.gifts
The popups that hand things over or stand in the way: items received, bulk gifts, the pictures popup, barriers and the membership warning, and the manager's own small notices: phantom.aj.screens.gifts.
acceptItem
acceptItem(options?: ActOptions) => Promise<ItemReceived>Takes the item received, as its OK button does.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<ItemReceived>
Types
barrier
barrier() => Promise<Barrier | null>The barrier up, or null.
Returns
Promise<Barrier \| null>
Types
bulkItems
bulkItems() => Promise<BulkItems | null>The bulk gift popup, or null when it is not open.
Returns
Promise<BulkItems \| null>
Types
daysRemaining
daysRemaining() => Promise<DaysRemaining | null>The membership warning, or null.
Returns
Promise<DaysRemaining \| null>
Types
images
images() => Promise<ImageDisplay | null>The pictures popup, or null when it is not open.
Returns
Promise<ImageDisplay \| null>
Types
itemReceived
itemReceived() => Promise<ItemReceived | null>The item received popup, or null when it is not open.
Returns
Promise<ItemReceived \| null>
Types
keepBulkItems
keepBulkItems(options?: ActOptions) => Promise<BulkItems>Keeps every item of a bulk gift, as its button does once their pictures are in.
Parameters
| Name | Type | |
|---|---|---|
options optional | ActOptions |
Returns
Promise<BulkItems>
Types
showImage
showImage(index: number, options?: ActOptions) => Promise<ImageDisplay>Shows one of the pictures, from 0, once the one before has loaded.
Parameters
| Name | Type | |
|---|---|---|
index | number | |
options optional | ActOptions |
Returns
Promise<ImageDisplay>
Types
onNotice
onNotice(listener: (notice: GuiNotice) => void) => () => voidHears the manager's own small popups: the jump popup, diamond confirmations and the like.
Parameters
| Name | Type | |
|---|---|---|
listener | (notice: GuiNotice) => void |
Returns
() => void. Call it to stop listening.
Types
Types
The types the calls above take and give, with every field. Import any of them in a plugin from @phantomclient/plugin/sdk, or use them as they are in a script.
Screen
A screen that is open.
| Field | Type | |
|---|---|---|
name | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" | |
className | string | The window's class, dotted. |
ready | boolean | Whether its art is in and it can be used. |
TypedFlash
A place in Flash whose declared type is T.
type TypedFlash<T> = FlashPlace<T> &
FlashConstructor<T> &
(unknown extends T
? unknown
: {
readonly [Key in keyof T as Key extends `$${string}` ? never : Key]: T[Key] extends (
...args: infer Args
) => infer Result
? FlashMethod<Args, Result>
: TypedFlash<T[Key]>;
})FlashRead
What reading a place of type T resolves with.
type FlashRead<T> = unknown extends T
? FlashData
: T extends Primitive
? T
: T extends readonly (infer Item)[]
? FlashRead<Item>[]
: T extends (...args: never[]) => unknown
? TypedFlash<unknown>
: TypedFlash<T>FlashWrite
What may be given where Flash expects T.
type FlashWrite<T> = unknown extends T
? FlashArgumentLike
: T extends Primitive
? T
: T extends readonly (infer Item)[]
? FlashWrite<Item>[]
: T extends (...args: never[]) => unknown
? ((...args: FlashData[]) => void) | FlashCallback
: TypedFlash<T> | FlashHandle | FlashArgumentLikeHoldOptions
How a hold behaves.
| Field | Type | |
|---|---|---|
everyFrames optional | number | undefined | Write on every nth frame. Every frame by default, which is what a value the client resets needs. |
when optional | "enter" | "exit" | undefined | Which half of the frame to write in. 'enter' by default, before the frame is read. Use 'exit' for a member the game writes every frame of its own, such as a thing it pins to the pointer. Two objects' enter-frame listeners have no order between them, so an ordinary hold on one of those stands only on the frames the loader happens to run second, and the value flickers or never takes at all. Exit-frame work runs after every enter-frame listener, so what is held is what is drawn and what the next frame reads. |
while optional | HookWhen | undefined | Only while this holds, in the same rules as a hook's when, read between calls. |
once optional | boolean | undefined | Write once, on the first frame the condition holds, then stop. |
restore optional | boolean | undefined | Put back what was there before the first write when the hold ends. On by default. |
onFailed optional | ((error: string) => void) | undefined | Called if the game turns the hold off because a write failed. |
HookTest
A condition. Made by phantom.flash.rules.
| Field | Type | |
|---|---|---|
__@TEST@169973 | RawTest |
FlashArgumentLike
Anything the bridge carries, typed places included.
type FlashArgumentLike = FlashArgument | TypedFlash<unknown> | FlashArgumentLike[] | { [key: string]: FlashArgumentLike }FlashPlace
The operations every place has, whatever its type.
| Field | Type | |
|---|---|---|
$get | () => Promise<FlashRead<T>> | Reads the value here: plain data as it is, an object as a typed place held by handle. |
$set | (value: FlashWrite<T>) => Promise<void> | Writes the value here, once. The client may put its own back a frame later: a member it sets every frame, or on every redraw, or an object it builds again for the next room. For a change that has to stay, use $keep. |
$keep | (value: FlashWrite<T>, options?: HoldOptions | undefined) => Promise<() => Promise<void>> | Writes the value here and keeps it here, until the function it gives back is called, which puts back what was there. It is $set for a change that has to last. The game writes it itself, every frame, so a value the client puts back is overwritten before Flash draws it. The place is followed rather than pinned: nothing is lost when the object is not there yet (it is written as soon as it is) or when the client builds it again (the new one is written too). It is phantom.flash.hold on this place, and takes the same options. ts const hud = phantom.flash.use('gui.GuiManager').mainHud; const faded = await hud.alpha.$keep(0.5); |
$call | (...args: FlashArgumentLike[]) => Promise<FlashData> | Calls what is here, whatever the declarations say is at this place. A place is callable in its own right (avatars.createAvatar(id, x, y, name)), which is how to write a call the declarations describe: the arguments and the answer are both checked. This is the same call for the places they cannot describe, and it saves casting one to reach it: - a class whose instance side declares nothing, because every member of it is static (gui.EmoticonUtility), so $as and a hook's self give a place with no members; - an object the client typed as Object or *, or one reached with $at; - a member holding a function, such as a callback the client keeps in a field. It answers FlashData, since there is no declared return to read it as. ts const emotes = phantom.flash.use('gui.EmoticonUtility'); console.log(await emotes.stringForId(3)); console.log(await emotes.$at('stringForId').$call(3)); |
$listen | (event: string, listener: (event: FlashData, keep: <Kept>(value: Kept) => Kept) => void, options?: { read?: readonly (readonly string[])[] | undefined; capture?: boolean | undefined; } | undefined) => Promise<() => Promise<void>> | Listens for an event on the object here. Resolves with what stops listening. Without read, the event is its readable members, objects among them as typed places held by handle, and every one of them is released once the listener returns, except those passed to keep before then (release those with $release when done). read names the paths to read as the event is dispatched instead: the event is then { className, type, read } with the values in that order, and nothing is held. A listener that ignores the event passes read: []. capture listens on the way down. Both are FlashBridge.listen's options. ts await stage.$listen('mouseMove', (event) => console.log((event as { read: number[] }).read), { read: [['stageX'], ['stageY']], }); |
$describe | () => Promise<FlashValue> | The public members of what is here, as Flash's describeType lists them. |
$at | (...path: string[]) => AnyFlash | Further along, by names the types do not know: untyped from here on. |
$as | { <Name extends keyof ClientInstances & string>(name: Name): TypedFlash<ClientInstances[Name]>; (name: string): AnyFlash; } | The same place, read as the client's name from here on. Nothing is sent and nothing is checked in the game: it says what the object here is, so the editor completes and checks its members again after a step the declarations could not follow ($at, a hook's capture, anything the client typed as Object or *). Naming the wrong class is not caught here; the read or call that follows is what fails. ts const grid = phantom.flash .use('gui.AvatarEditor') .$at('_colorTableColor1') .$as('gui.ColorTable'); console.log(await grid._numCols.$get(), 'by', await grid._numRows.$get()); |
$release | () => Promise<void> | Releases the object this place is held by, when it is one; nothing otherwise. |
$reference | FlashReference | The untyped reference underneath. |
FlashValue
A value on the TypeScript side: plain data, undefined, or a handle to an object in Flash.
type FlashValue = | null
| undefined
| boolean
| number
| string
| FlashValue[]
| { [key: string]: FlashValue }
| FlashHandleFlashArgument
What may be passed to Flash: a value, a function Flash may call, or an object to make there.
type FlashArgument = | FlashValue
| FlashArgument[]
| { [key: string]: FlashArgument }
| ((...args: FlashValue[]) => void)
| FlashNewFlashData
Plain data read from Flash, with objects that live there as typed places.
type FlashData = | null
| undefined
| boolean
| number
| string
| FlashData[]
| { [key: string]: FlashData }
| TypedFlash<unknown>AnyFlash
A place whose class the declarations do not describe: phantom.flash.use('a.Class') for a class the client has no declaration for, $at, $as with a name, or anything read back from one.
Every member is another place of the same kind, and every place can be called, which is what reflection allows and what a place does at run time. Nothing is checked, because there is nothing to check it against: a name the game does not have fails when it is used, not here. then is left out, so awaiting a place is still the mistake it always was.
type AnyFlash = FlashPlace<unknown> &
FlashMethod<unknown[], unknown> & {
readonly [member: string]: AnyFlash;
} & { then?: undefined }FlashMethod
A method of the client, called with checked arguments.
type FlashMethod<Args extends readonly unknown[], Result> = (
...args: { [Index in keyof Args]: FlashWrite<Args[Index]> }
) => Promise<FlashRead<Result>>FlashConstructor
A class's constructor, from its declared $new.
type FlashConstructor<T> = T extends { $new(...args: infer Args): infer Instance }
? { $new: FlashMethod<Args, Instance> }
: unknownDeclared
type Declared<Name> = Name extends keyof ClientInstances ? ClientInstances[Name] : unknownScreenButtonState
One of a screen's buttons, as buttons reads it.
| Field | Type | |
|---|---|---|
name | string | |
pressable | boolean | Showing, not greyed out, and listening for a press. |
greyed | boolean |
ActOptions
How long something that acts may take, and what may end it first.
| Field | Type | |
|---|---|---|
timeoutMs optional | number | undefined | 10 seconds by default. |
signal optional | AbortSignal | undefined |
ScreenButton
The buttons a screen has, by name.
type ScreenButton<Name extends ScreenName> = (typeof SCREENS)[Name] extends {
buttons: infer Buttons;
}
? keyof Buttons & string
: neverScreenPress
| Field | Type | |
|---|---|---|
screen | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" | |
button | string |
ScreenEvent
A screen opening, loading or closing, or one of its buttons pressed.
| Field | Type | |
|---|---|---|
screen | "gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival" |
ScreenFilter
Which screens an event is about. Every screen when left out; the rest are never hooked.
| Field | Type | |
|---|---|---|
screens optional | readonly ("gift" | "journeyBook" | "input" | "avatarEditor" | "avatarCreator" | "avatarSwitcher" | "codeRedemption" | "dailySpinInfo" | "daysRemaining" | "demotionMessage" | "denSwitcher" | "diamondShopInfo" | "differentVersion" | "eBookChooser" | "holidayBanner" | "jammerCentral" | "joinGames" | "masterpiecePreview" | "museumDonation" | "petCertificate" | "petInventory" | "photoBooth" | "playerEngagement" | "reportAPlayer" | "rules" | "serverSelector" | "settings" | "startupPopups" | "adventureJoin" | "privateAdventureJoin" | "barrier" | "bulkItems" | "ecoPoints" | "ecoScore" | "eggHatched" | "eggPurchase" | "emailConfirmation" | "externalLink" | "gameCard" | "imageDisplay" | "itemPicker" | "itemReceived" | "prizeDescription" | "referGift" | "submissionRules" | "welcomeToCarnival")[] | undefined |
LoadingChange
The loading screen going up or coming down.
| Field | Type | |
|---|---|---|
loading | boolean |
LoadingProgress
The loading screen moving on a step.
| Field | Type | |
|---|---|---|
progress | number | |
stage | LoadingStage | null |
StartupState
Where the login popups stand.
| Field | Type | |
|---|---|---|
done | boolean | Whether the client has shown every one (HAS_LOADED_STARTUP_POPUPS). |
queue | StartupPopupKind[] | What is still to show, in order. |
waiting | number | Gifts waiting to be opened. |
gems | number | |
diamonds | number | |
diamondRefunds | number | |
jumpGems | number | |
bulkItems | number | |
redeemedAnimal | boolean | |
firstAdoptAPet | boolean | |
gift | StartupGift | null | The gift being shown, if one is. |
StartupPopupKind
The popups the client queues at login, by StartupPopups' own constants.
type StartupPopupKind = 'gift' | 'expiring' | 'welcome' | 'newMember' | 'demotion' | 'engagement'StartupGift
A gift waiting at login (StartupPopups._currRedemECard).
| Field | Type | |
|---|---|---|
msgId | number | |
type | number | |
giftId | number | |
giftName | string | |
bulk | boolean |
StartupStage
A step the login popups go through, by the client method that takes it.
type StartupStage = | 'asked'
| 'checkingRedemptions'
| 'cardsIn'
| 'moreCards'
| 'loadingPopups'
| 'welcomeRoom'
| 'nextCard'
| 'loadingImage'
| 'giftPopup'
| 'bulkPopup'
| 'bulkAccepted'
| 'giftClosed'
| 'jumpClosed'
| 'petClosed'
| 'animalAdded'
| 'renew'
| 'welcome'
| 'newMember'
| 'demotion'
| 'engagement'
| 'diamondRefund'
| 'diamondRefundTaken'
| 'done'StartupGiftChange
A login gift shown, answered, or taken by the server.
type StartupGiftChange = | ({ stage: 'shown' } & StartupGift)
| { stage: 'answered'; msgId: number; keep: boolean }
| { stage: 'taken'; msgId: number; ok: boolean }LoginPopup
The popups the client shows at login that can be left out.
type LoginPopup = 'newspaper' | 'holidayBanner' | 'adoptAPetIntro'LoginSkip
Login popups being left out: call it to show them again.
type LoginSkip = (() => Promise<void>) & { readonly skipping: readonly LoginPopup[] }PhotoBoothView
The photo booth (gui.PhotoBooth), as it stands.
| Field | Type | |
|---|---|---|
background | number | The backdrop, from 1 (_currBackgroundFrame), of backgrounds. |
backgrounds | number | |
backgroundName | string | null | |
flipped | boolean | |
pet | boolean | Whether the player's pet is in the picture. |
petPosition | number | null | Where the pet stands, 0 to 3, or null without one. |
text | string | |
textShown | boolean | |
picking | boolean | The phrase list is open. |
forWall | boolean | Taken for the player wall rather than to keep. |
cost | number | What a photo costs in gems. |
PhotoStage
A photo going through the booth: asked for, taken, encoded, and saved.
type PhotoStage = 'asked' | 'taken' | 'encoded' | 'saved'JammerCentralView
Jammer Central (gui.BulletinBoard), as it stands.
| Field | Type | |
|---|---|---|
videoTitle | string | null | |
whatsNewOpen | boolean | |
whatsNewImage | number | null | The What's New picture shown, from 0, of whatsNewImages. |
whatsNewImages | number | |
galleryOpen | boolean | |
galleryPage | number | The gallery page shown, from 0, of galleryPages. |
galleryPages | number |
GalleryMasterpiece
One masterpiece of the gallery, as the board keeps it (_cachedMasterpieces).
| Field | Type | |
|---|---|---|
page | number | |
userName | string | |
resourceId | string | |
creatorDbId | number | |
creatorId | string | |
frameId | number |
MasterpiecePreviewView
A masterpiece open in its preview, on its own or over the gallery.
| Field | Type | |
|---|---|---|
creator | string | null | |
imageId | string | |
creatorDbId | number | |
creatorId | string | |
frame | number | |
loaded | boolean | |
likes | number | null | Its likes, once the server has said; null while asking. |
buying | boolean | |
inGallery | boolean |
MuseumDonationView
The museum's donation window (gui.MuseumDonation), as it stands.
| Field | Type | |
|---|---|---|
amount | number | The gems the window says will be given. |
amounts | number[] | The amounts it steps through. |
gems | number | |
tooMuch | boolean | More than the player has. |
causes | string[] | The three causes, in order. |
cause | number | null | The cause picked, from 1, or null. |
canDonate | boolean |
SettingsView
The settings window (gui.MySettings), as it stands.
| Field | Type | |
|---|---|---|
member | boolean | |
rows | string[] | Its rows, by the frame each toggle shows (music, sound, cursor...), in order. |
DemotionMessageView
The demotion message shown when a membership ends (gui.DemotionMessages).
| Field | Type | |
|---|---|---|
page | number | |
chosen | boolean | |
buttons | ("next" | "renew" | "choose" | "noThanks")[] |
InputForm
The player wall's text box (gui.InputPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
text | string | |
prompt | string | |
maxChars | number | |
canSubmit | boolean |
EmailForm
The parent email confirmation (gui.EmailConfirmation).
| Field | Type | |
|---|---|---|
ready | boolean | |
view | "message" | "entry" | |
email | string | |
canSend | boolean | |
suggestion | string | null | The domain the client suggests, while it does. |
forCode | boolean | Asked for to redeem a code. |
ExternalLinkForm
The "you are leaving Animal Jam" popup (gui.ExternalLinkPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
url | string |
SubmissionRulesForm
The masterpiece submission rules (gui.SubmissionRulesPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
cost | number | |
tokens | number | |
choosingPayment | boolean | |
canPayDiamonds | boolean |
ItemReceived
The popup an item given in a minigame comes in (gui.ItemReceivedPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
item | PopupItem | |
pictureLoaded | boolean |
PopupItem
An item a popup offers or gave, as the popup holds it.
| Field | Type | |
|---|---|---|
defId | number | |
name | string | |
invIdx | number | |
memberOnly | boolean |
BulkItems
The popup that hands over several items at once (gui.BulkItemAcceptPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
count | number | |
expected | number | |
names | string[] | |
counter | string | |
canKeep | boolean |
ImageDisplay
The pictures popup (gui.ImageDisplayPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
index | number | |
count | number | |
imageId | number | null | |
caption | string | |
loading | boolean |
Barrier
The barrier a party or adventure puts up for those who may not go in (gui.BarrierPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
kind | "adventure" | "party" | |
defId | number | |
needsPet | boolean | |
switching | boolean | |
frame | string | |
message | string |
DaysRemaining
The warning that a membership is running out (gui.ExpiringDaysPopup).
| Field | Type | |
|---|---|---|
ready | boolean | |
message | string | |
days | string |
GuiNotice
One of the manager's own small popups being asked for, answered, or pressed.
type GuiNotice = | { kind: 'jumpAsked'; joey: boolean; gems: number | null }
| { kind: 'jumpLoaded' | 'jumpPictureLoaded' }
| { kind: 'diamondConfirmAsked'; diamonds: number | null }
| { kind: 'diamondConfirmAnswered'; bought: boolean; button: string | null }
| { kind: 'spinInfo' | 'spinInfoPressed' | 'diamondShopInfo' | 'joinClub' }
| {
kind:
| 'barrierClosed'
| 'imageDisplayClosed'
| 'daysRemainingClosed'
| 'emailPressed'
| 'emailWanted';
}