174 lines
4.8 KiB
Plaintext
174 lines
4.8 KiB
Plaintext
|
|
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);
|
||
|
|
}
|