/* 文件名:HorseGuessing.nut 路径:Project/HorseGuessing/HorseGuessing.nut 创建日期:2024-09-25 20:30 文件用途:骑士马战 */ dofile("sqr/Project/HorseGuessing/HorseGuessing_Guide.nut"); //骑士马战指引 dofile("sqr/Project/HorseGuessing/HorseGuessing_KnightInfo.nut"); //骑士马战资料 class HorseGuessingC extends LenheartNewUI_Windows { //调试模式 //DeBugMode = true; //不是窗口 // NoWindow = true; //是否可见 // Visible = false; //标题栏 Title = null; //当前页面 Page = 0; //页面选择器 PageSelectM = 0; //指引页面 GuidePage = null; //骑士资料页面 KnightInfoPage = null; //过往战绩页面 PastRecordPage = null; //骑手名称 RiderName = [ "伊撒尔", "理查德", "席恩", "吉尔特", "爱德华", "罗兰", "莱奥", "贝奥武夫", ]; //当前选择骑手 NowSelectRider = 0; //下注 BetItem = 0; //剩余可下注数量 ResidueCoin = 10000; //骑手信息 RiderInfo = null; //获取选手具体信息 function GetRiderInfo() { local T = { op = 20055003, code = NowSelectRider, } SendPack(T); } //获取选手具体信息回调包 function GetRiderInfoCallBack(Chunk) { local Jso = Json.Decode(Chunk); RiderInfo = []; for (local i = 0; i< Jso.outcome.len(); i++) { RiderInfo.append(Jso.outcome[i]); } } constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { Childrens = []; Title = []; RiderInfo = []; //读取配置文件 local Config = R_Utils.ReadScriptConfig("etc/rindro/horseguessing/horseguessing.dat", 1024, "utf8"); RiderName = Config.RiderInfo; BetItem = Config.ItemId; //把big的名字 转成 utf8 for (local i = 0; i< RiderName.len(); i++) { RiderName[i] = Sq_ConvertWideChar(RiderName[i], "big5"); } //注册控件 RegisterWidget(); LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); GuidePage = HorseGuessing_GuideC("骑士马战_指引窗口", X + 7, Y + 50, 214, 480, 0); KnightInfoPage = HorseGuessing_KnightInfoC("骑士马战_资料窗口", X + 7, Y + 50, 214, 480, 0); //默认构造时切换到0页 ChangePage(1); } function ChangePage(ToPage) { foreach(ButtonObj in Title) { ButtonObj.State = 0; } Page = ToPage; Title[ToPage].State = 1; RemoveChild("骑士马战_指引窗口"); RemoveChild("骑士马战_资料窗口"); RemoveChild("骑士马战_战绩窗口"); PageSelectM = ToPage; switch (ToPage) { case 0: { AddChild(GuidePage); break; } case 1: { AddChild(KnightInfoPage); break; } case 2: AddChild(PastRecordPage); break; } } function RegisterWidget() { //关闭按钮 local CloseButton = LenheartNewUI_BaseButton(750, 0, 11, 12, "interface/lenheartwindowcommon.img", 276); CloseButton.OnClick = function() { this.Visible = false; }.bindenv(this); Childrens.append(CloseButton); local Tabbars1 = LenheartNewUI_TabbarsText(12, 27, "指引"); Tabbars1.State = 1; AddChild(Tabbars1); Tabbars1.OnClick = function() { ChangePage(0); }.bindenv(this); Title.append(Tabbars1); local Tabbars2 = LenheartNewUI_TabbarsText(74, 27, "骑士资料"); AddChild(Tabbars2); Tabbars2.OnClick = function() { ChangePage(1); }.bindenv(this); Tabbars2.SetTextOffset(7, 3); Title.append(Tabbars2); local Tabbars3 = LenheartNewUI_TabbarsText(136, 27, "过往战绩"); AddChild(Tabbars3); Tabbars3.OnClick = function() { ChangePage(2); }.bindenv(this); Tabbars3.SetTextOffset(7, 3); Title.append(Tabbars3); } function DrawInfo(obj) { } //绘制主界面 function DrawMain(obj) { //绘制窗口 L_sq_DrawImg("interface2/event/chn_event_2016/160927_joustmatches/joustmatches_ui.img", 33, X, Y); //绘制左边底槽窗口 L_sq_DrawWindow(X + 2, Y + 46, 210, 435, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13); //绘制详情页 DrawInfo(obj); //BackGround L_sq_DrawImg("interface2/event/chn_event_2016/160927_joustmatches/joustmatches_ui.img", 0, X + 227, Y + 26); // L_sq_DrawCode(L_sq_StringBinById(271069), X + 400, Y + 386, sq_RGBA(255, 255, 255, 250), 0, 1); } function Show(obj) { DrawMain(obj); LenheartNewUI_Windows.Show(obj); } //逻辑入口 function Proc(obj) { LenheartNewUI_Windows.SyncPos(X, Y); //主动调用子对象窗口的Proc foreach(Object in Childrens) { if (Object instanceof LenheartNewUI_Windows) Object.Proc(obj); } } function OpenCallBack() { this.Visible = true; ResetFocus(); } } getroottable().rawdelete("HorseGuessing_Obj"); function Lenheart_HorseGuessing_Fun(obj) { local RootTab = getroottable(); if (!RootTab.rawin("HorseGuessing_Obj")) { RootTab.rawset("HorseGuessing_Obj", true); local Winobj = LenheartNewUI_CreateWindow(HorseGuessingC, "骑士马战窗口", ((getroottable().Rindro_Scr_Width - 772) / 2).tointeger(), 30, 772, 539, 28); EventList_Obj.AddEvent("骑士马战", 106, Winobj, "interface2/yosin/eventsystemlist2.img"); } } getroottable()["LenheartFuncTab"].rawset("HorseGuessingFuncN", Lenheart_HorseGuessing_Fun);