local freeplay_control = nil class "freeplay_dialog" (CUIScriptWnd) function freeplay_dialog:__init() super() self:SetWndRect(Frect():set(0,0,1024,768)) self.freeplay_mb = CUIMessageBoxEx() self:Register(self.freeplay_mb,"freeplay_mb") self:AddCallback("freeplay_mb", ui_events.MESSAGE_BOX_OK_CLICKED, self.OnMsgOk, self) self:AddCallback("freeplay_mb", ui_events.MESSAGE_BOX_YES_CLICKED, self.OnMsgYes, self) self:AddCallback("freeplay_mb", ui_events.MESSAGE_BOX_NO_CLICKED, self.OnMsgNo, self) end function freeplay_dialog:Show(mb_type, text) self.freeplay_mb:InitMessageBox(mb_type) self.freeplay_mb:SetText(text) self.freeplay_mb:ShowDialog(true) end function freeplay_dialog:OnMsgOk() db.actor:give_info_portion("pri_a28_actor_in_zone_stay") end function freeplay_dialog:OnMsgYes() db.actor:give_info_portion("pri_a28_actor_in_zone_leave") end function freeplay_dialog:OnMsgNo() db.actor:give_info_portion("pri_a28_actor_in_zone_stay") end function show(mb_type, text) if(freeplay_control==nil) then freeplay_control = ui_freeplay_dialog.freeplay_dialog() end freeplay_control:Show(mb_type, text) end function main() show("message_box_yes_no", "test") end