class TorturegiftC extends LenheartNewUI_Windows { //调试模式 // DeBugMode = true; //状态 0展示状态 1滚动状态 MacState = 0; ItemNameColor = [ 0xffffffff, //白装 0xffedd568, //蓝装 0xffff6bb3, //紫装 0xfff000ff, //粉装 0xff0082ff, //传说 0xff00b1ff //史诗 ] //红眼闪光动画 EyesAnimotion = null; //当前道具组 ItemShowArr = null; //轮播时间 PlayT = 0; //轮播速度 PlayRate = 2; constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { Childrens = []; ItemShowArr = []; //注册控件 RegisterWidget(); LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); local FrameArr = []; for (local i = 0; i< 23; i++) { local T = { ImgIndex = 3 + i, Delay = 60, Pos = [0, 0] } FrameArr.append(T); } EyesAnimotion = Lenheart_Ani("null", FrameArr, [100, 100]); EyesAnimotion.ImgPath = "contents/2022/bakalraid/ui/bakal_reward/title.img"; for (local i = 0; i< 50; i++) { local T = { XOffset = (i * 170), YOffset = 213, ItemId = 3037, ItemCount = 100, Grade = 5, Name = "无色小晶体" } ItemShowArr.append(T); } } function RegisterWidget() { //关闭按钮 local CloseButton = LenheartNewUI_BaseButton(432, 0, 11, 12, "interface/lenheartwindowcommon.img", 276); CloseButton.OnClick = function() { this.Visible = false; }.bindenv(this); Childrens.append(CloseButton); } //绘制卡牌 function DrawRewardCard(CardInfo) { //绘制卡牌底 L_sq_DrawImg("rindro_ui/torturegift.img", 4, X + CardInfo.XOffset, Y + CardInfo.YOffset); //绘制品级框底槽 L_sq_DrawImg("rindro_ui/torturegift_grade.img", CardInfo.Grade, X + CardInfo.XOffset + 64, Y + CardInfo.YOffset + 26); //绘制名称 L_sq_DrawCode(CardInfo.Name, X + CardInfo.XOffset + 82 - LenheartTextClass.GetStringLength(CardInfo.Name) / 2, Y + CardInfo.YOffset + 70, ItemNameColor[CardInfo.Grade], 0, 1); //绘制物品 DrawItemBase(X + CardInfo.XOffset + 67, Y + CardInfo.YOffset + 29, CardInfo.ItemId, CardInfo.ItemCount); } //绘制主界面 function DrawMain(obj) { //绘制背景框标题栏 L_sq_DrawImg("rindro_ui/torturegift.img", 0, X, Y); //轨道底层 L_sq_DrawImg("rindro_ui/torturegift.img", 1, X + 6, Y + 198); //上牛头 L_sq_DrawImg("rindro_ui/torturegift.img", 2, X + 114, Y + 175); //下 L_sq_DrawImg("rindro_ui/torturegift.img", 3, X + 114, Y + 336); //指针 L_sq_DrawImg("rindro_ui/torturegift.img", 5, X + 215, Y + 320); } function Show(obj) { DrawMain(obj); setClip(X + 30, Y, X + 422, Y + 454); //开始裁切 local AddOffset = 0; PlayT += Duration; if (PlayT >= 30) { AddOffset = (1 * PlayRate); PlayT = 0; } foreach(_index, infoobj in ItemShowArr) { if (AddOffset) { infoobj.XOffset -= AddOffset; // if (_index == 0) print(infoobj.XOffset); if (infoobj.XOffset <= -200) infoobj.XOffset += (ItemShowArr.len()) * 170; } DrawRewardCard(infoobj); } releaseClip(); //裁切结束 if (ItemInfoDrawS && MacState == 0) { PlayRate = 0; } else if (MacState == 0) { PlayRate = 1; } LenheartNewUI_Windows.Show(obj); // L_sq_SetDrawImgModel(2, 0); // EyesAnimotion.X = X - 122; // EyesAnimotion.Y = Y + 110; // EyesAnimotion.Show(Duration); // L_sq_ReleaseDrawImgModel(); } //逻辑入口 function Proc(obj) { LenheartNewUI_Windows.SyncPos(X, Y); } } L_Windows_List <- []; getroottable().rawdelete("LenheartPluginsInitFlag"); getroottable().rawdelete("EventList_Obj") getroottable().rawdelete("TorturegiftC_Obj"); getroottable().rawdelete("L_Each_Obj"); function Lenheart_Torturegift_New(obj) { local RootTab = getroottable(); if (!RootTab.rawin("TorturegiftC_Obj")) { RootTab.rawset("TorturegiftC_Obj", true); LenheartNewUI_CreateWindow(TorturegiftC, "折磨之礼窗口", 210, 64, 452, 454, 22); } } if (getroottable().rawin("LenheartFuncTab")) { getroottable()["LenheartFuncTab"].rawset("Lenheart_Torturegift_NewFunc", Lenheart_Torturegift_New); } else { local T = {}; T.rawset("Lenheart_Torturegift_NewFunc", Lenheart_Torturegift_New); getroottable().rawset("LenheartFuncTab", T); }