Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class NPCDialogWnd extends UICommonAPI;
- const DIALOG_DEFAULT_WIDTH = 314;
- const DIALOG_DEFAULT_HEIGHT = 408;
- var WindowHandle _this;
- var String _thisName;
- var HtmlHandle _HTML;
- var TextureHandle _textureBG;
- function OnRegisterEvent()
- {
- RegisterEvent(EV_NPCDialogWndShow);
- RegisterEvent(EV_NPCDialogWndHide);
- RegisterEvent(EV_NPCDialogWndLoadHtmlFromString);
- RegisterEvent(EV_QuestIDWndLoadHtmlFromString);
- }
- function OnLoad()
- {
- if (CREATE_ON_DEMAND == 0)
- OnRegisterEvent();
- _this = GetWindowHandleDemand(_thisName);
- _this.SetWindowSize(DIALOG_DEFAULT_WIDTH, DIALOG_DEFAULT_HEIGHT);
- _HTML = GetHtmlHandleDemand(_thisName $ ".HtmlViewer");
- _textureBG = GetTextureHandleDemand(_thisName $ ".texBack");
- }
- function OnEvent(int eventID, String param)
- {
- LOGGER(_thisName, eventID, param);
- switch (eventID)
- {
- case EV_NPCDialogWndShow:
- ExecuteEvent(EV_QuestHtmlWndHide);
- ShowNPCDialogWindow();
- break;
- case EV_NPCDialogWndHide:
- _this.HideWindow();
- break;
- case EV_NPCDialogWndLoadHtmlFromString:
- _this.SetWindowTitle(GetSystemString(444));
- HandleLoadHtmlFromString(param);
- break;
- case EV_QuestIDWndLoadHtmlFromString:
- _this.HideWindow();
- break;
- }
- }
- function OnHtmlMsgHideWindow(HtmlHandle iHtmlHandle)
- {
- if (iHtmlHandle == _HTML)
- _this.HideWindow();
- }
- function OnHide()
- {
- _this.SetWindowSize(DIALOG_DEFAULT_WIDTH, DIALOG_DEFAULT_HEIGHT);
- _HTML.SetScrollBarPosition(0, 0, 0);
- }
- function ShowNPCDialogWindow()
- {
- local PrivateShopWnd varScriptPrivateShopWnd;
- varScriptPrivateShopWnd = PrivateShopWnd(GetScript("PrivateShopWnd"));
- if (IsShowWindow("PrivateShopWnd"))
- {
- varScriptPrivateShopWnd.RequestQuit();
- HideWindow("PrivateShopWnd");
- }
- _this.ShowWindow();
- _this.SetFocus();
- }
- function HandleLoadHtmlFromString(String param)
- {
- local String varParam;
- local int varWidth;
- local int varHeight;
- local String varImage;
- local bool varScrollBar;
- local String varHTMLString;
- ParseString(param, "HTMLString", varHTMLString);
- // Initialize Default Values
- varParam = Caps(StringBetween(varHTMLString, "<html ", ">"));
- varWidth = DIALOG_DEFAULT_WIDTH;
- varHeight = DIALOG_DEFAULT_HEIGHT;
- varImage = "L2UI_CT1.GroupBox.GroupBox_DF";
- varScrollBar = !Contain(varParam, "NOSCROLL");
- if (Len(varParam) > 0)
- {
- ParseInt(varParam, "WIDTH", varWidth);
- ParseInt(varParam, "HEIGHT", varHeight);
- ParseString(varParam, "IMAGE", varImage);
- }
- _textureBG.SetTexture(varImage);
- _this.SetWindowSize(varWidth, varHeight);
- if (!varScrollBar)
- _HTML.SetScrollBarPosition(5000, 5000, 0);
- else
- _HTML.SetScrollBarPosition(0, 0, 0);
- _HTML.LoadHtmlFromString(varHTMLString);
- }
- defaultproperties
- {
- _thisName="NPCDialogWnd"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement