战力排行榜增加自己战力信息和返回按钮
This commit is contained in:
parent
eaa260bce6
commit
b336d61914
|
|
@ -28,14 +28,16 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
CombatInfoList = null;
|
CombatInfoList = null;
|
||||||
//个人奖励集合
|
//个人奖励集合
|
||||||
PersonReward = null;
|
PersonReward = null;
|
||||||
//个人排行人物
|
|
||||||
CharacShow = null;
|
|
||||||
//查看中的详细个人信息
|
//查看中的详细个人信息
|
||||||
LookingInfo = null;
|
LookingInfo = null;
|
||||||
|
|
||||||
|
//我的战力
|
||||||
|
MyCombat = null;
|
||||||
|
|
||||||
//公会奖励集合
|
//公会奖励集合
|
||||||
GuildReward = null;
|
GuildReward = null;
|
||||||
GuildFlagData = null;
|
GuildFlagData = null;
|
||||||
|
GuildFlagImgMap = null;
|
||||||
//公会战力集合
|
//公会战力集合
|
||||||
GuildInfoList = null;
|
GuildInfoList = null;
|
||||||
|
|
||||||
|
|
@ -82,28 +84,30 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
local Jso = Json.Decode(Chunk);
|
local Jso = Json.Decode(Chunk);
|
||||||
GuildReward = Jso["config"];
|
GuildReward = Jso["config"];
|
||||||
GuildFlagData = {};
|
GuildFlagData = {};
|
||||||
|
GuildFlagImgMap = {};
|
||||||
foreach(object in Jso["config2"]) {
|
foreach(object in Jso["config2"]) {
|
||||||
GuildFlagData.rawset(object.guildId, [object.img, object.imgid]);
|
GuildFlagData.rawset(object.guildId, [object.img, object.imgid]);
|
||||||
}
|
}
|
||||||
}.bindenv(this));
|
}.bindenv(this));
|
||||||
|
|
||||||
|
|
||||||
//查询个人战力排行榜包
|
//查询个人战力排行榜包
|
||||||
RegisterPack(20096004, function(Chunk) {
|
RegisterPack(20096004, function(Chunk) {
|
||||||
local Jso = Json.Decode(Chunk);
|
local Jso = Json.Decode(Chunk);
|
||||||
local ranking = Jso.ranking;
|
local ranking = Jso.ranking;
|
||||||
|
|
||||||
CombatInfoList = [];
|
CombatInfoList = [];
|
||||||
CharacShow = [];
|
|
||||||
foreach(Pos, Info in ranking) {
|
foreach(Pos, Info in ranking) {
|
||||||
local CharacDraw = Rindro_Draw_Character(Info.job.tointeger(), Info.avaS, "rest.ani", null)
|
//补全默认公会
|
||||||
CharacShow.append(CharacDraw);
|
|
||||||
|
|
||||||
if (!Info.rawin("guildname")) Info.guildname <- "无公会";
|
if (!Info.rawin("guildname")) Info.guildname <- "无公会";
|
||||||
|
//构造显示对象
|
||||||
local Buf = TH_CombatRankC_Item(this, Pos, Info, 0);
|
local Buf = TH_CombatRankC_Item(this, Pos, Info, 0);
|
||||||
Buf.CharacShow = CharacDraw;
|
|
||||||
CombatInfoList.append(Buf);
|
CombatInfoList.append(Buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//构造我自己
|
||||||
|
if(!Jso.my.rawin("guildname")) Jso.my.guildname <- "无公会";
|
||||||
|
MyCombat = TH_CombatRankC_Item(this, 900, Jso.my, 0);
|
||||||
|
MyCombat.Idx = Jso.on - 1;
|
||||||
}.bindenv(this));
|
}.bindenv(this));
|
||||||
|
|
||||||
RegisterPack(20096006, function(Chunk) {
|
RegisterPack(20096006, function(Chunk) {
|
||||||
|
|
@ -120,10 +124,18 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
CheckGuildCombatPower();
|
CheckGuildCombatPower();
|
||||||
|
|
||||||
UploadYourOwnCombatPower();
|
UploadYourOwnCombatPower();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function RegisterWidget() {
|
function RegisterWidget() {
|
||||||
|
//返回按钮
|
||||||
|
local ReturnButton = LenheartNewUI_BaseButton(506, 6, 11, 12, "interface/lenheartwindowcommon.img", 540);
|
||||||
|
ReturnButton.OnClick = function() {
|
||||||
|
LookingInfo = null;
|
||||||
|
}.bindenv(this);
|
||||||
|
Childrens.append(ReturnButton);
|
||||||
|
|
||||||
//关闭按钮
|
//关闭按钮
|
||||||
local CloseButton = LenheartNewUI_BaseButton(521, 2, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
local CloseButton = LenheartNewUI_BaseButton(521, 2, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||||
CloseButton.OnClick = function() {
|
CloseButton.OnClick = function() {
|
||||||
|
|
@ -139,7 +151,9 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
FuncTabbar1.OnClick = function() {
|
FuncTabbar1.OnClick = function() {
|
||||||
TitleButtonList[1].State = 0;
|
TitleButtonList[1].State = 0;
|
||||||
TitleButtonList[0].State = 1;
|
TitleButtonList[0].State = 1;
|
||||||
|
TitleButtonList[2].State = 0;
|
||||||
Page = 0;
|
Page = 0;
|
||||||
|
LookingInfo = null;
|
||||||
ScrollBar.Reset();
|
ScrollBar.Reset();
|
||||||
}.bindenv(this);
|
}.bindenv(this);
|
||||||
TitleButtonList.append(FuncTabbar1);
|
TitleButtonList.append(FuncTabbar1);
|
||||||
|
|
@ -150,11 +164,26 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
FuncTabbar2.OnClick = function() {
|
FuncTabbar2.OnClick = function() {
|
||||||
TitleButtonList[0].State = 0;
|
TitleButtonList[0].State = 0;
|
||||||
TitleButtonList[1].State = 1;
|
TitleButtonList[1].State = 1;
|
||||||
|
TitleButtonList[2].State = 0;
|
||||||
Page = 1;
|
Page = 1;
|
||||||
|
LookingInfo = null;
|
||||||
ScrollBar.Reset();
|
ScrollBar.Reset();
|
||||||
}.bindenv(this);
|
}.bindenv(this);
|
||||||
TitleButtonList.append(FuncTabbar2);
|
TitleButtonList.append(FuncTabbar2);
|
||||||
|
|
||||||
|
local FuncTabbar3 = LenheartNewUI_TabbarsText(476, 23, "我的战力");
|
||||||
|
FuncTabbar3.SetTextOffset(8, 4);
|
||||||
|
AddChild(FuncTabbar3);
|
||||||
|
FuncTabbar3.OnClick = function() {
|
||||||
|
TitleButtonList[0].State = 0;
|
||||||
|
TitleButtonList[1].State = 0;
|
||||||
|
TitleButtonList[2].State = 1;
|
||||||
|
Page = 0;
|
||||||
|
LookingInfo = MyCombat;
|
||||||
|
ScrollBar.Reset();
|
||||||
|
}.bindenv(this);
|
||||||
|
TitleButtonList.append(FuncTabbar3);
|
||||||
|
|
||||||
ScrollBar = Yosin_ScrollBar(530, 315, 198, 50);
|
ScrollBar = Yosin_ScrollBar(530, 315, 198, 50);
|
||||||
ScrollBar.SetParent(this);
|
ScrollBar.SetParent(this);
|
||||||
ScrollBar.SetStep(20 / 100.0);
|
ScrollBar.SetStep(20 / 100.0);
|
||||||
|
|
@ -190,9 +219,11 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
releaseClip(); //裁切结束
|
releaseClip(); //裁切结束
|
||||||
|
|
||||||
//绘制前三名
|
//绘制前三名
|
||||||
if (CharacShow) {
|
if (CombatInfoList) {
|
||||||
for (local i = 0; i< 3; i++) {
|
for (local i = 0; i< 3; i++) {
|
||||||
local CharacObj = CharacShow[i];
|
//如果不足3个
|
||||||
|
if (i >= CombatInfoList.len()) break;
|
||||||
|
|
||||||
local OffsetX = 270;
|
local OffsetX = 270;
|
||||||
local OffsetY = 268;
|
local OffsetY = 268;
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
|
|
@ -203,7 +234,7 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
OffsetX = 410;
|
OffsetX = 410;
|
||||||
OffsetY = 268;
|
OffsetY = 268;
|
||||||
}
|
}
|
||||||
if (!LookingInfo || i != LookingInfo.Idx) CharacObj.Draw(X + OffsetX, Y + OffsetY);
|
if(!LookingInfo || LookingInfo.Idx != i)CombatInfoList[i].ShowCharacter(X + OffsetX, Y + OffsetY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -213,28 +244,32 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
Img["information_button_cn"].DrawPng(136, X + 5, Y + 295);
|
Img["information_button_cn"].DrawPng(136, X + 5, Y + 295);
|
||||||
T_DrawDynamicAni(obj, "ui/selectcharacter/animation/selectcharactereffect.ani", X + 15, Y + 50, "桃花战斗力角色背景光环");
|
T_DrawDynamicAni(obj, "ui/selectcharacter/animation/selectcharactereffect.ani", X + 15, Y + 50, "桃花战斗力角色背景光环");
|
||||||
Img["main"].DrawPng(8, X + 30, Y + 160);
|
Img["main"].DrawPng(8, X + 30, Y + 160);
|
||||||
LookingInfo.CharacShow.Draw(X + 80, Y + 248);
|
// LookingInfo.CharacShow.Draw(X + 80, Y + 248);
|
||||||
|
LookingInfo.ShowCharacter(X + 80, Y + 248);
|
||||||
|
|
||||||
|
local YPosBuffer = Y - 5;
|
||||||
|
//排名
|
||||||
|
L_sq_DrawCode("排名: " + (LookingInfo.Idx + 1), X + 150, YPosBuffer + 60, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
//角色名
|
//角色名
|
||||||
L_sq_DrawCode("角色名: " + LookingInfo.Info.name, X + 150, Y + 60, sq_RGBA(230, 200, 155, 255), 0, 1);
|
L_sq_DrawCode("角色名: " + LookingInfo.Info.name, X + 150, YPosBuffer + 78, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
//职业
|
//职业
|
||||||
L_sq_DrawCode("角色职业: " + LookingInfo.Info.jobname, X + 150, Y + 78, sq_RGBA(230, 200, 155, 255), 0, 1);
|
L_sq_DrawCode("角色职业: " + LookingInfo.Info.jobname, X + 150, YPosBuffer+ 96, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
//等级
|
//等级
|
||||||
L_sq_DrawCode("角色等级: " + LookingInfo.Info.level, X + 150, Y + 96, sq_RGBA(230, 200, 155, 255), 0, 1);
|
L_sq_DrawCode("角色等级: " + LookingInfo.Info.level, X + 150, YPosBuffer + 114, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
//公会名
|
//公会名
|
||||||
L_sq_DrawCode("所属公会: " + LookingInfo.Info.guildname, X + 150, Y + 114, sq_RGBA(230, 200, 155, 255), 0, 1);
|
L_sq_DrawCode("所属公会: " + LookingInfo.Info.guildname, X + 150, YPosBuffer + 132, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
//是否在线
|
//是否在线
|
||||||
L_sq_DrawCode("当前状态: " + (LookingInfo.Info.isOnline ? "在线" : "离线"), X + 150, Y + 132, sq_RGBA(230, 200, 155, 255), 0, 1);
|
L_sq_DrawCode("当前状态: " + (LookingInfo.Info.isOnline ? "在线" : "离线"), X + 150, YPosBuffer + 150, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
|
|
||||||
//战斗力
|
//战斗力
|
||||||
L_sq_DrawCode("战斗力: " + LookingInfo.Info.zdlS, X + 150, Y + 150, sq_RGBA(230, 200, 155, 255), 0, 1);
|
L_sq_DrawCode("战斗力: " + LookingInfo.Info.zdlS, X + 150, YPosBuffer+ 168, sq_RGBA(230, 200, 155, 255), 0, 1);
|
||||||
L_sq_DrawCode("-- 基础战斗力: " + LookingInfo.Info.jczdlS, X + 150, Y + 168, sq_RGBA(179, 169, 135, 255), 0, 1);
|
L_sq_DrawCode("-- 基础战斗力: " + LookingInfo.Info.jczdlS, X + 150, YPosBuffer + 186, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||||
L_sq_DrawCode(" 四维: " + LookingInfo.Info.swzldS, X + 150, Y + 186, sq_RGBA(179, 169, 135, 255), 0, 1);
|
L_sq_DrawCode(" 四维: " + LookingInfo.Info.swzldS, X + 150, YPosBuffer + 204, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||||
L_sq_DrawCode(" 三攻: " + LookingInfo.Info.sgzldS, X + 150, Y + 204, sq_RGBA(179, 169, 135, 255), 0, 1);
|
L_sq_DrawCode(" 三攻: " + LookingInfo.Info.sgzldS, X + 150, YPosBuffer + 222, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||||
L_sq_DrawCode(" 属强: " + LookingInfo.Info.sqzldS, X + 150, Y + 222, sq_RGBA(179, 169, 135, 255), 0, 1);
|
L_sq_DrawCode(" 属强: " + LookingInfo.Info.sqzldS, X + 150, YPosBuffer + 240, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||||
L_sq_DrawCode(" 其他: " + LookingInfo.Info.qtzldS, X + 150, Y + 240, sq_RGBA(179, 169, 135, 255), 0, 1);
|
L_sq_DrawCode(" 其他: " + LookingInfo.Info.qtzldS, X + 150, YPosBuffer + 258, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||||
|
|
||||||
L_sq_DrawCode("-- 魂石战斗力: " + LookingInfo.Info.fstS, X + 150, Y + 258, sq_RGBA(179, 169, 135, 255), 0, 1);
|
L_sq_DrawCode("-- 魂石战斗力: " + LookingInfo.Info.fstS, X + 150, YPosBuffer + 276, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -256,6 +291,35 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
releaseClip(); //裁切结束
|
releaseClip(); //裁切结束
|
||||||
|
|
||||||
|
if (GuildInfoList) {
|
||||||
|
for (local i = 0; i< 3; i++) {
|
||||||
|
if (GuildInfoList.len() <= i) break;
|
||||||
|
|
||||||
|
local OffsetX = 270;
|
||||||
|
local OffsetY = 268;
|
||||||
|
if (i == 1) {
|
||||||
|
OffsetX = 130;
|
||||||
|
OffsetY = 268;
|
||||||
|
}
|
||||||
|
if (i == 2) {
|
||||||
|
OffsetX = 410;
|
||||||
|
OffsetY = 268;
|
||||||
|
}
|
||||||
|
|
||||||
|
local Object = GuildInfoList[i];
|
||||||
|
local GuildId = Object.Info.guildId;
|
||||||
|
if (GuildFlagData.rawin(GuildId)) {
|
||||||
|
local Info = GuildFlagData[GuildId];
|
||||||
|
if (!GuildFlagImgMap.rawin(Info[0])) {
|
||||||
|
GuildFlagImgMap[Info[0]] <- Rindro_Image(Info[0]);
|
||||||
|
}
|
||||||
|
GuildFlagImgMap[Info[0]].DrawPng(0, X + OffsetX, Y + OffsetY);
|
||||||
|
} else {
|
||||||
|
Img["main"].DrawPng(3, X + OffsetX, Y + OffsetY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -317,10 +381,12 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
|
|
||||||
//上传自身战斗力
|
//上传自身战斗力
|
||||||
//时装 帽子 头部 脸 上衣 下装 鞋子 胸部 腰部 皮肤 光环
|
//时装 帽子 头部 脸 上衣 下装 鞋子 胸部 腰部 皮肤 光环
|
||||||
|
// AvatarInfoIdx = [0x3038, 0x3010, 0x3014, 0x3018, 0x301c, 0x3020, 0x3024, 0x3028, 0x302c, 0x3034];
|
||||||
AvatarInfoIdx = [0x3038, 0x3010, 0x3014, 0x3018, 0x301c, 0x3020, 0x3024, 0x3028, 0x302c, 0x3030, 0x3034];
|
AvatarInfoIdx = [0x3038, 0x3010, 0x3014, 0x3018, 0x301c, 0x3020, 0x3024, 0x3028, 0x302c, 0x3030, 0x3034];
|
||||||
creInfoIdx = [0x3068, 0x306C, 0x3070, 0x3074];
|
creInfoIdx = [0x3068, 0x306C, 0x3070, 0x3074];
|
||||||
|
|
||||||
function UploadYourOwnCombatPower() {
|
function UploadYourOwnCombatPower() {
|
||||||
|
if (sq_GetCurrentModuleType() != 1) return;
|
||||||
local obj = sq_GetMyMasterCharacter();
|
local obj = sq_GetMyMasterCharacter();
|
||||||
if (!obj) return;
|
if (!obj) return;
|
||||||
local C_Object = L_sq_RA(0x1ab7cdc);
|
local C_Object = L_sq_RA(0x1ab7cdc);
|
||||||
|
|
@ -334,6 +400,20 @@ class TH_CombatRankC extends LenheartNewUI_Windows {
|
||||||
local ExIndex = L_sq_RA(AvatarEquiAddress + 0x13E0);
|
local ExIndex = L_sq_RA(AvatarEquiAddress + 0x13E0);
|
||||||
Ab.append(NormalIndex);
|
Ab.append(NormalIndex);
|
||||||
Ab.append(ExIndex);
|
Ab.append(ExIndex);
|
||||||
|
//皮肤默认给默认皮肤 这里先注释
|
||||||
|
// if (offset == 0x3030) {
|
||||||
|
// if (sq_getJob(obj) == 0) Ab = [42200, 0];
|
||||||
|
// else if (sq_getJob(obj) == 1) Ab = [46200, 0];
|
||||||
|
// else if (sq_getJob(obj) == 2) Ab = [50200, 0];
|
||||||
|
// else if (sq_getJob(obj) == 3) Ab = [54200, 0];
|
||||||
|
// else if (sq_getJob(obj) == 4) Ab = [58200, 0];
|
||||||
|
// else if (sq_getJob(obj) == 5) Ab = [1680000, 0];
|
||||||
|
// else if (sq_getJob(obj) == 6) Ab = [1800000, 0];
|
||||||
|
// else if (sq_getJob(obj) == 7) Ab = [29205, 0];
|
||||||
|
// else if (sq_getJob(obj) == 8) Ab = [2150000, 0];
|
||||||
|
// else if (sq_getJob(obj) == 9) Ab = [42200, 0];
|
||||||
|
// else if (sq_getJob(obj) == 10) Ab = [2190081, 0];
|
||||||
|
// }
|
||||||
avataritemsbuf.append(Ab);
|
avataritemsbuf.append(Ab);
|
||||||
} else {
|
} else {
|
||||||
local Ab = [];
|
local Ab = [];
|
||||||
|
|
@ -473,6 +553,7 @@ class TH_CombatRankC_Item {
|
||||||
this.Type = Type;
|
this.Type = Type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function Show(X, Y) {
|
function Show(X, Y) {
|
||||||
|
|
||||||
if (Idx< 3) {
|
if (Idx< 3) {
|
||||||
|
|
@ -530,6 +611,22 @@ class TH_CombatRankC_Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ShowCharacter(X, Y) {
|
||||||
|
//没有正在查看的对象的时候才绘制人物
|
||||||
|
// if (!Parent.LookingInfo) {
|
||||||
|
if(!CharacShow)StructureCharacAni();
|
||||||
|
CharacShow.Draw(X, Y);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
function StructureCharacAni() {
|
||||||
|
local AvaList = [];
|
||||||
|
foreach(Ava in Info.avaS) {
|
||||||
|
if (Ava != 0) AvaList.append(Ava);
|
||||||
|
}
|
||||||
|
CharacShow = Rindro_Draw_Character(Info.job.tointeger(), AvaList, "rest.ani", null);
|
||||||
|
}
|
||||||
|
|
||||||
function OnMouseLbDown(X, Y) {
|
function OnMouseLbDown(X, Y) {
|
||||||
if (this.Type == 0) {
|
if (this.Type == 0) {
|
||||||
if (Y <= (Parent.Y + 316 + 196) && Y >= (Parent.Y + 316)) {
|
if (Y <= (Parent.Y + 316 + 196) && Y >= (Parent.Y + 316)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue