xxxg0001 / lua-for-vscode Goto Github PK
View Code? Open in Web Editor NEWlua-for-vscode
License: MIT License
lua-for-vscode
License: MIT License
安装了Lua(keyring)插件和此插件.
在最新升级之后,当输入:
"a = "之后, = 符号之后的字段提示并不会出现.
卸载插件之后正常.
概率性重现.
[Error - 8:43:30 AM] Request textDocument/documentSymbol failed.
Message: Request textDocument/documentSymbol failed with message: Cannot read property 'type' of null
Code: -32603
I apply the settings on workspace settings and the extension doesn't works, because the "Go to Definition" isn't working well.
Best regards
It can't find defintion from other files after I have been set the lua path to workspace settings.
I put
{
"luaforvscode.luapath":"C:\Project;C:\luapath2",
"luaforvscode.includekeyword":"Include,Require,require,dofile,include",
"luaforvscode.luaversion":4
}
in my workspace settings but VS Code doesn't recognize them.
In problems window: 'Unknown configuration setting'
And in setting list there no single one 'luaforvscode' setting
Hi! Is there a guideline to add autocomplete support for custom functions exported by own software that uses Lua as a scripting language?
As an example I have my own C++ game engine and I'm using Lua as a scripting language and I would luke to add my own exported C++ functions to autocomplete.
Cheers!
查看符号列表时发现少了不少函数,先是显示这个错误:
重启之后也是一样的。
下面是我那个文件的所有代码:
`--[[
]]
AwardItem = AwardItem or BaseClass()
--[[@
功能: 创建
参数:
parent_wnd 父容器
]]
function AwardItem:__init(parent_wnd, showTips)
self.root_wnd = parent_wnd:CreateChildNoName(UIType.Box, "")
self.root_wnd:SetInt(WidgetProperty.Align, Align.Stretch)
self.root_wnd:SetVector2(WidgetProperty.Size, Game.Vector2(120, 120))
self.typeId = 0
self.good = nil
self.nameStr=""
self.gray = false
if showTips == nil then
showTips = true
end
self.showTips = showTips
self.bg_visible=true
--背景
self.imageboxbg = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox1")
self.imageboxbg:SetInt(WidgetProperty.Align, Align.Stretch)
self.imageboxbg:SetBool(ImageBoxProperty.AutoSize,false)
self.imageboxbg:SetString(ImageBoxProperty.Source, "comp:xx_itemBg")
-- 物品名字
self.defaultText = self.root_wnd:CreateChildNoName(UIType.Label, "Label1")
self.defaultText:SetVector2(WidgetProperty.Position, Game.Vector2(5,5))
self.defaultText:SetVector2(WidgetProperty.Size, Game.Vector2(70,70))
self.defaultText:SetInt(TextBoxProperty.TextAlign, Align.Center)
self.defaultText:SetBool(WidgetProperty.NeedMouse, false)
self.defaultText:SetBool(TextBoxProperty.WordWrap, true)
self.textImage = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.textImage:SetVector2(WidgetProperty.Position,Game.Vector2(7,7))
--装备分类
self.typeIcon = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.typeIcon:SetVector2(WidgetProperty.Position,Game.Vector2(0,0))
self.typeIcon:SetBool(ImageBoxProperty.AutoSize,false)
--物品图标
self.goodIcon = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.goodIcon:SetVector2(WidgetProperty.Position, Game.Vector2(10, 10))
self.goodIcon:SetInt(WidgetProperty.Align, Align.Stretch)
self.goodIcon:SetBool(ImageBoxProperty.AutoSize, false)
self.goodIcon:SetVector2(WidgetProperty.Size, Game.Vector2(100, 100))
--部件类型图标
self.subtypeIcon = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.subtypeIcon:SetVector2(WidgetProperty.Position, Game.Vector2(10, 10))
self.subtypeIcon:SetInt(WidgetProperty.Align, Align.Stretch)
self.subtypeIcon:SetBool(ImageBoxProperty.AutoSize, false)
self.subtypeIcon:SetVector2(WidgetProperty.Size, Game.Vector2(100, 100))
self.subtypeIcon:SetBool(ImageBoxProperty.ShowDefaultRes, false)
--部件级别图标
self.goodsLvIcon = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.goodsLvIcon:SetVector2(WidgetProperty.Position, Game.Vector2(10, 10))
self.goodsLvIcon:SetInt(WidgetProperty.Align, Align.Stretch)
self.goodsLvIcon:SetBool(ImageBoxProperty.AutoSize, false)
self.goodsLvIcon:SetVector2(WidgetProperty.Size, Game.Vector2(100, 100))
self.goodsLvIcon:SetBool(ImageBoxProperty.ShowDefaultRes, false)
--选择发光
self.lightBg = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.lightBg:SetString(ImageBoxProperty.Source, "comp:xx_blueRect3")
self.lightBg:SetVector2(WidgetProperty.Size, Game.Vector2(120, 120))
self.lightBg:SetBool(ImageBoxProperty.AutoSize, false)
self.lightBg:SetBool(WidgetProperty.Visible, false)
-- --选中框
-- self.selectedBg=self.root_wnd:CreateChildNoName(UIType.ImageBox,"ImageBox")
-- self.selectedBg:SetString(ImageBoxProperty.Source,"comp:xx_blueRect")
-- self.selectedBg:SetVector2(WidgetProperty.Size, Game.Vector2(80, 80))
-- self.selectedBg:SetVectorValue(WidgetProperty.Position, -3,-3)
-- self.selectedBg:SetBool(ImageBoxProperty.AutoSize, false)
-- self.selectedBg:SetBool(WidgetProperty.Visible, false)
--绑定图标
-- self.imglock = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox1")
-- self.imglock:SetString(ImageBoxProperty.Source, "comp:lock")
-- self.imglock:SetVector2(WidgetProperty.Position, Game.Vector2(8+5, 90-5))
-- self.imglock:SetBool(WidgetProperty.Visible, false)
--个数或强化数
self.numtxt = self.root_wnd:CreateChildNoName(UIType.Label, "Label1")
self.numtxt:SetVectorL(WidgetProperty.Size, 20)
self.numtxt:SetInt(TextBoxProperty.TextHorzAlign, Align.Right)
self.numtxt:SetBool(WidgetProperty.NeedMouse, false)
self.numtxt:SetBool(TextBoxProperty.TextStroke, true)
-- 物品名字
self.txtName = self.root_wnd:CreateChildNoName(UIType.Label, "Label1")
self.txtName:SetVector2(WidgetProperty.Position, Game.Vector2(-20,80))
self.txtName:SetVector2(WidgetProperty.Size, Game.Vector2(120,32))
self.txtName:SetInt(TextBoxProperty.TextAlign, Align.Center)
self.txtName:SetBool(WidgetProperty.Visible, false)
self.txtName:SetBool(WidgetProperty.NeedMouse, false)
--自助礼包选择标签
self.buffetBg = self.root_wnd:CreateChildNoName(UIType.ImageBox, "")
self.buffetBg:SetBool(ImageBoxProperty.AutoSize, false)
self.buffetBg:SetBool(ImageBoxProperty.ShowDefaultRes, false)
self.tagBg = self.root_wnd:CreateChildNoName(UIType.ImageBox, "")
self.tagBg:SetBool(ImageBoxProperty.AutoSize, false)
self.tagBg:SetBool(ImageBoxProperty.ShowDefaultRes, false)
self.star_list = {}
end
function AwardItem:__delete()
if self.root_wnd ~= nil then
self.root_wnd:DeleteMe()
self.root_wnd = nil
end
end
function AwardItem:Load()
end
function AwardItem:GetRootWnd()
return self.root_wnd
end
--num:1-9, gold_coin:1铜币,2元宝
function AwardItem:SetGoldCoin(num, gold_coin)
if num >= 10 or num < 1 then
assert(false, "invalid num:" .. tostring(num))
end
self:clearData()
local fmt, str = "luckyZodiac:luckyZodiac_%s_%d0", "coin"
if gold_coin == 2 then
str = "gold"
end
self.goodIcon:SetString(ImageBoxProperty.Source, string.format(fmt, str, math.floor(num)))
self.goodIcon:SetBool(WidgetProperty.Visible, true)
self.goodIcon:SetString(WidgetProperty.ParticleSystem, "UI_shangdian")
end
function AwardItem:SetRebate(ratio)
if nil == ratio then
if self.rebateNode then
self.imageboxbg:SetString(ImageBoxProperty.Source, "comp:xx_itemBg")
self.rebateNode:DeleteMe()
self.rebateNode = nil
end
return
end
self:clearData()
if nil == self.rebateNode then
self.imageboxbg:SetString(ImageBoxProperty.Source, "comp:xx_equipBg4")
self.rebateNode = self.root_wnd:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.rebateNode:SetBool(ImageBoxProperty.AutoSize, true)
self.rebateNode:SetString(ImageBoxProperty.Source, "xx_lucky_turntable:luc_txt_rebate")
local root_size = self.root_wnd:GetVector2(WidgetProperty.Size)
local pos = Game.Vector2((root_size.x - 55) / 2, (root_size.y - 60) / 2)
self.rebateNode:SetVector2(WidgetProperty.Position, pos)
self.rebateNode:SetString(WidgetProperty.ParticleSystem, "UI_shangdian")
self.rebateIcon = self.rebateNode:CreateChildNoName(UIType.ImageBox, "ImageBox")
self.rebateIcon:SetBool(ImageBoxProperty.AutoSize, true)
self.rebateIcon:SetString(ImageBoxProperty.Source, "xx_lucky_turntable:luc_txt_present")
self.rebateNum = self.rebateIcon:CreateChildNoName(UIType.NumberCell, "NumberCell17")
self.rebateNum:SetInt(TextBoxProperty.TextAlign, Align.Right)
self.rebateNum:SetVectorValue(WidgetProperty.Position, -12, 8)
-- self:ScaleSprite(self.rebateNode, Game.Vector2(55, 30), pos, root_size.x / 90)
end
self.rebateNum:SetString(TextBoxProperty.Label, ratio)
local num_size = self.rebateNum:GetVector2(TextBoxProperty.TextSize)
local pos = Game.Vector2((55 - (num_size.x + 30)) / 2 + num_size.x, 35)
self.rebateIcon:SetVector2(WidgetProperty.Position, pos)
self.rebateNode:SetBool(WidgetProperty.Visible, true)
end
function AwardItem:ScaleSprite(sprite, size, pos, scale)
local newSize = Game.Vector2(size.x * scale, size.y * scale)
sprite:SetBool(ImageBoxProperty.AutoSize, false)
sprite:SetVector2(WidgetProperty.Size, newSize)
local new_pos = Game.Vector2((size.x - newSize.x) / 2 + pos.x, (size.y - newSize.y) / 2 + pos.y)
sprite:SetVector2(WidgetProperty.Position, new_pos)
return newSize, size
end
function AwardItem:clearData()
-- self.imglock:SetBool(WidgetProperty.Visible, false)
self.numtxt:SetString(TextBoxProperty.Label, tostring(""))
self.txtName:SetString(TextBoxProperty.Label, tostring(""))
self.typeIcon:SetString(ImageBoxProperty.Source, "")
self.typeIcon:SetBool(WidgetProperty.Visible,false)
self.typeIcon:SetString(WidgetProperty.ParticleSystem, "")
self.goodIcon:SetString(ImageBoxProperty.Source, "")
self.goodIcon:SetBool(WidgetProperty.Visible,false)
self.goodIcon:SetString(WidgetProperty.ParticleSystem, "")
self.subtypeIcon:SetString(ImageBoxProperty.Source, "")
self.goodsLvIcon:SetString(ImageBoxProperty.Source, "")
self.typeId = 0
self.gray = false
self:removeToolTip()
if self.styleIcon ~= nil then
self.styleIcon:SetBool(WidgetProperty.Visible, false)
end
self:clearUpstage()
self:clearTalismanEquipTag()
self:ClearBuffetTag()
end
function AwardItem:setGray(value)
if self.goodIcon then
self.goodIcon:SetBool(WidgetProperty.Gray,value)
self.subtypeIcon:SetBool(WidgetProperty.Gray,value)
self.goodsLvIcon:SetBool(WidgetProperty.Gray,value)
end
end
function AwardItem:setVisible( flag )
self.root_wnd:SetBool(WidgetProperty.Visible, flag)
end
function AwardItem:getTypeId()
return self.typeId
end
function AwardItem:showName(b)
self.txtName:SetBool(WidgetProperty.Visible, b)
end
--[[@
功能: 显示物品
参数:
typeId 物品类型ID,必要
count 数量,小于2时不显示,默认0
playEffect 设置nil就行了
info 礼包数据参数
bLock 是否绑定,默认false
show_type nil 0 默认,1不需要显示等级和类型小图标
]]
function AwardItem:setData(typeId,count,playEffect,info,bLock,color,show_type, step_num)
self:clearTalismanEquipTag()
local id = tonumber(typeId)
typeId = tonumber(typeId)
if typeId==2 or typeId==611103 then
--经验和铜钱现在没有绑定的
bLock=false
end
-- print("~~~~~~~~~~AwardItem:setData",id,count)
show_type= show_type or 0
self.typeId = id
playEffect = playEffect or false
info = info or ""
bLock = bLock or false
self.nameStr=""
local career
-- if id==532012 then --烤翅礼盒
-- career=RoleManager.Instance.mainRoleInfo.career
-- if career==1 then
-- id=106704
-- elseif career==2 then
-- id=106904
-- elseif career==3 then
-- id=106804
-- end
-- elseif id==532011 then --国宝时装礼盒
-- career=RoleManager.Instance.mainRoleInfo.career
-- if career==1 then
-- id=106107
-- elseif career==2 then
-- id=106307
-- elseif career==3 then
-- id=106207
-- end
-- end
local isLock = false
if info == "silver" then
-- isLock = true;
id = 611102;--元宝
self.nameStr="礼券"
elseif info == "gold" then
id = 611104;--元宝
self.nameStr="元宝"
elseif info == "bcoin" then
isLock = true;
id = 611103;--绑定铜钱
self.nameStr="铜币"
elseif info == "coin" then
id = 611103;--铜钱
self.nameStr="铜币"
end
if id==611101 or id==611103 then
id=611103
self.nameStr="铜币"
end
-- if bLock then
-- isLock = true
-- end
-- self.imglock:SetBool(WidgetProperty.Visible, isLock)
local gvo=GoodsManager.Instance:getGoodsBasicByTypeId(id)
if gvo==nil then
print ("no id:", id)
return
end
self.good = gvo
local goodColor = color or gvo.color
if id ~= 611102 and id ~= 611102 and gvo ~= nil then
local colorStr = ColorUtil:getGoodColor(goodColor)
self.nameStr = "<font color= '" .. colorStr .. "'>".. gvo.goods_name.."</font>";
end
-- print(id,gvo.goods_icon,"gvo等于nilgvo等于nilgvo等于nilgvo等于nilgvo等于nilgvo等于nil")
self.txtName:SetString(TextBoxProperty.Label, self.nameStr)
-- if self.typeId == 535351 then --梦曦武器
-- self.goodIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconGoodsPic(700201))
-- elseif self.typeId == 535352 then --梦曦衣服
-- self.goodIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconGoodsPic(700204))
-- elseif self.typeId == 535353 then --琼劲武器
-- self.goodIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconGoodsPic(700301))
-- else
self.goodIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconGoodsPic(gvo.goods_icon))
-- end
self.goodIcon:SetBool(WidgetProperty.Visible,true)
-- 如果是材料,要显示小图标
self.subtypeIcon:SetString(ImageBoxProperty.Source, "")
self.goodsLvIcon:SetString(ImageBoxProperty.Source, "")
if gvo.type==11 and not(show_type==1) then
-- if gvo.equip_type>0 then
-- self.subtypeIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconPng_Goods(""..gvo.equip_type))
-- end
if gvo.level>0 then
self.goodsLvIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconPng_Goods("lv"..gvo.level))
end
end
if gvo.type == 65 and not(show_type==1) then
if gvo.level > 0 then
if gvo.level == 5 then
self.goodsLvIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconPng_Goods("lvs5"))
else
self.goodsLvIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconPng_Goods("lv".. gvo.level))
end
end
end
if gvo.type==66 and not(show_type==1) then
if GemstoneModel.Instance ~= nil then
local gem_config=GemstoneModel.Instance:AgentGemstone_GemstoneModel_GetInfoById(gvo.goods_id)
if gem_config and gem_config.lv>0 then
self.goodsLvIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconPng_Goods("lvs".. gem_config.lv))
end
end
end
if gvo.type == 67 and not(show_type==1) then --魂羽物品
if gvo.level > 0 then
self.goodsLvIcon:SetString(ImageBoxProperty.Source, GameRes.PathTool.IconPng_Goods("lvs".. gvo.level))
end
end
self:changeNum(count)
self.typeIcon:SetBool(WidgetProperty.Visible,true)
if self.good.type == 70 then --器灵装备
--fist_prefix 代表器灵装备物品的阶数 prefix代表星数
if self.good.fist_prefix and self.good.prefix then
self.typeIcon:SetString(ImageBoxProperty.Source, "comp:".. WordManager:getTalismanGoodBgByStepNum(tonumber(self.good.fist_prefix)))
self.typeIcon:SetString(WidgetProperty.ParticleSystem, WordManager:getTalismanEffectgByStepNum(tonumber(self.good.fist_prefix)))
self.typeIcon:SetEffectScale(1.2, 2)
print("该物品的星阶是==:", self.good.fist_prefix, self.good.prefix)
-- self.good.fist_prefix = 5
-- self.good.prefix = 10
self:CreateTalismanEquipTag(1, self.good.fist_prefix, self.good.prefix)
else
self.typeIcon:SetString(ImageBoxProperty.Source,"comp:"..WordManager:getGoodBgByColor(3))
self.typeIcon:SetString(WidgetProperty.ParticleSystem, "")
end
self.typeIcon:SetVector2(WidgetProperty.Size,Game.Vector2(self.width_value or 120,self.height or 120))
else
if step_num and step_num >= 6 then
self.typeIcon:SetString(ImageBoxProperty.Source,"comp:"..WordManager:getGoodBgByColor(5))
else
self.typeIcon:SetString(ImageBoxProperty.Source,"comp:"..WordManager:getGoodBgByColor(goodColor))
end
self.typeIcon:SetString(WidgetProperty.ParticleSystem, "")
self.typeIcon:SetVector2(WidgetProperty.Size,Game.Vector2(self.width_value or 120,self.height or 120))
end
if self.good.type == 53 then --礼包类型
local have_find, config = TalismanModel:getInstance():AgentTalisman_TalismanModel_findcConfigGift(self.typeId)
if have_find == true then
if config then
if config.style == 1 then
self:CreateTalismanEquipTag(2, config.add_value)
else
self:CreateTalismanEquipTag(3, nil, config.add_value)
end
end
end
end
if self.good.type == 72 then --自助礼包
self:CreateBuffetTag(typeId)
else
self:ClearBuffetTag()
end
if self.showTips then
self:UnBindClickEvent()
if self.good.type == 10 then --表示是装备
UIToolTipMgr.Instance:AppendNoGetEquipTips(self.root_wnd, gvo)
elseif self.good.type == 66 then --表示宝石
local call=function ( ... )
if GemstoneModel.Instance ~= nil then
local pos=self.root_wnd:GetObsolutePosition()
GemstoneModel.Instance:Fire(GemstoneModel.OPEN_GEMSTONE_TIP,GemstoneModel.TIP_TYPE.OTHER,pos,self.typeId)
end
end
self:BindClickEvent(call)
elseif self.good.type == 70 then --表示器灵装备
local show_fun = function ( ... )
local goodvo = TalismanModel:getInstance():AgentTalisman_TalismanModel_formatGoodsVo(self.typeId, self.good.fist_prefix, self.good.prefix)
if goodvo and goodvo.id then
GlobalEventSystem:Fire(EventName.OPEN_TALISMAN_EQUIP_TIPS, goodvo, false)
end
end
self:BindClickEvent(show_fun)
-- elseif self.typeId == 535351 or self.typeId == 535352 or self.typeId == 535353 then --礼包id,使用可分别开出梦曦武器, 梦曦衣服,琼劲武器
-- local show_fun = function ( ... )
-- local goodvo = TalismanModel:getInstance():AgentTalisman_TalismanModel_formatGoodsVo(self.typeId)
-- if goodvo and goodvo.id then
-- GlobalEventSystem:Fire(EventName.OPEN_TALISMAN_EQUIP_TIPS, goodvo, false)
-- end
-- end
-- self:BindClickEvent(show_fun)
elseif self.good.type == 72 then --自选礼包
local show_fun = function ( ... )
GoodsManager.Instance:Fire(GoodsManager.OPEN_BUFFET_GIFT_VIEW, self.typeId, true)
end
self:BindClickEvent(show_fun)
else
UIToolTipMgr.Instance:AppendGoodsTips(self.root_wnd, gvo.goods_id, gvo.bind)
end
end
self:setItemBgVisible(self.bg_visible)
end
function AwardItem:width()
return self.width_value or 120
end
-- function AwardItem:GetWidth( ... )
-- return self.width_value or 120
-- end
function AwardItem:setDefaultText(str)
self.defaultText:SetString(TextBoxProperty.Label,str)
end
function AwardItem:setNameTextSize(val)
self.txtName:SetInt(TextBoxProperty.FontSize, tonumber(val))
end
function AwardItem:setPosition(vector)
self.root_wnd:SetVector2(WidgetProperty.Position,vector)
end
function AwardItem:setPositionValue(x,y)
self.root_wnd:SetVectorValue(WidgetProperty.Position,x,y)
end
function AwardItem:setGray(bool)
self.gray = bool
self.root_wnd:SetBool(WidgetProperty.Gray,bool)
if bool == true then
self.numtxt:SetString(TextBoxProperty.ColorStr, ColorUtil:getColorByName(ColorUtil.MyColorType.GRAY))
-- self.numtxt:SetBool(TextBoxProperty.TextStroke, not bool)
else
self.numtxt:SetString(TextBoxProperty.ColorStr, ColorUtil:getColorByName(ColorUtil.MyColorType.WHITE))
-- self.numtxt:SetBool(TextBoxProperty.TextStroke, not bool)
end
end
function AwardItem:setAlpha(value)
if self.goodIcon then
self.goodIcon:SetFloat(WidgetProperty.Alpha,value)
end
if self.styleIcon then
local bool = self.styleIcon:GetBool(WidgetProperty.Visible)
if bool == true then
self.styleIcon:SetFloat(WidgetProperty.Alpha,value)
end
end
end
function AwardItem:GetAlpha(value)
local alpha
if self.goodIcon then
alpha = self.goodIcon:GetFloat(WidgetProperty.Alpha)
end
return alpha
end
function AwardItem:getGray()
return self.gray
end
function AwardItem:BindClickEvent(func)
if self.root_wnd ~= nil then
self:removeToolTip()
self:UnBindClickEvent()
local tem_func=function ( widget,widget2 )
func(widget,widget2,self)
end
self.bind_click_event_handler = self.root_wnd:BindWindowEvent(WidgetEvent.MouseButtonClick, tem_func)
end
end
function AwardItem:UnBindClickEvent()
if self.bind_click_event_handler ~= nil then
self.root_wnd:UnBindWindowEvent(self.bind_click_event_handler)
self.bind_click_event_handler = nil
end
end
--设置是否选择bool
function AwardItem:setSelectedState(bool)
self.selectedState = bool
self.lightBg:SetBool(WidgetProperty.Visible,bool)
end
function AwardItem:removeToolTip()
UIToolTipMgr.Instance:ClearTooltipEvent(self.root_wnd)
end
function AwardItem:setDefualtTextImg(source)
self.textImage:SetString(ImageBoxProperty.Source,source)
end
function AwardItem:SetNumTextVisible(visible)
self.numtxt:SetBool(WidgetProperty.Visible, visible)
end
function AwardItem:setNum(num)
self.numtxt:SetString(TextBoxProperty.Label, num)
end
function AwardItem:changeNum(count)
self.count = count and tonumber(count) or 0
if self.count > 1 or self.allwaysShowNumber then
self:setNum(self.count)
self:UpatdeNumtxtPos()
else
self:setNum("")
end
end
function AwardItem:UpatdeNumtxtPos()
local size = self.numtxt:GetVector2(TextBoxProperty.TextSize)
local root_size = self.root_wnd:GetVector2(WidgetProperty.Size)
self.numtxt:SetVector2(WidgetProperty.Size, Game.Vector2(root_size.x - 5, 50))
self.numtxt:SetVector2(WidgetProperty.Position, Game.Vector2(0, root_size.y - 55))
self.numtxt:SetInt(TextBoxProperty.TextAlign, bit.bor(Align.Right, Align.Bottom))
if size.x > root_size.x - 20 or size.y < root_size.y / 5 then
local scale = (root_size.x - 10) / size.x
local font_size = self.numtxt:GetInt(TextBoxProperty.FontSize)
self.numtxt:SetInt(TextBoxProperty.FontSize, math.min(font_size * scale, 24))
end
end
function AwardItem:SetLockVisible(visible)
-- self.imglock:SetBool(WidgetProperty.Visible, visible)
end
function AwardItem:AttachEffect(name)
self.goodIcon:SetString(WidgetProperty.ParticleSystem, name)
end
function AwardItem:SetEffectScale(scale_x, scale_y)
self.goodIcon:SetEffectScale(scale_x, scale_x)
end
function AwardItem:setItemSize(width,height)
if not self.root_wnd then
return
end
self.width_value=width or 120
self.height=height or 120
local bord = self.width_value * 1/12
--整个父窗
self.root_wnd:SetVector2(WidgetProperty.Size, Game.Vector2(self.width_value, self.height))
--背景
self.imageboxbg:SetVector2(WidgetProperty.Size,Game.Vector2(self.width_value,self.height))
--选中框
self.lightBg:SetVector2(WidgetProperty.Size,Game.Vector2(self.width_value,self.height))
--装备分类
self.typeIcon:SetVector2(WidgetProperty.Size,Game.Vector2(self.width_value,self.height))
--物品图标
self.goodIcon:SetVector2(WidgetProperty.Position, Game.Vector2(bord, bord))
self.goodIcon:SetVector2(WidgetProperty.Size, Game.Vector2(self.width_value-bord*2, self.height-bord*2))
self.subtypeIcon:SetVector2(WidgetProperty.Position, Game.Vector2(bord, bord))
self.subtypeIcon:SetVector2(WidgetProperty.Size, Game.Vector2(self.width_value-bord*2, self.height-bord*2))
self.goodsLvIcon:SetVector2(WidgetProperty.Position, Game.Vector2(bord, bord))
self.goodsLvIcon:SetVector2(WidgetProperty.Size, Game.Vector2(self.width_value-bord*2, self.height-bord*2))
self:UpatdeNumtxtPos()
self:resetTalismanEquipSize(bord)
self:resetBuffetGiftSize(bord)
-- 锁头
-- self.imglock:SetVector2(WidgetProperty.Position, Game.Vector2(8, self.height - bord - 20))
end
function AwardItem:setTxtSize(font_size)
self.numtxt:SetInt(TextBoxProperty.FontSize, font_size)
end
function AwardItem:setItemBgVisible(b)
if b then
self.imageboxbg:SetBool(WidgetProperty.Visible,true)
self.typeIcon:SetBool(WidgetProperty.Visible,true)
else
self.imageboxbg:SetBool(WidgetProperty.Visible,false)
self.typeIcon:SetBool(WidgetProperty.Visible,false)
end
self.bg_visible=b
end
function AwardItem:setNeedMouse( flag )
self.root_wnd:SetBool(WidgetProperty.NeedMouse, flag)
end
function AwardItem:showUpstageNum(num)
self:clearUpstage()
if num ~= nil then
self:EnsureUpstageNum(num)
end
end
--创建阶数小太阳
function AwardItem:EnsureUpstageNum(num)
if self.good == nil or self.good.color ~= 4 or self.good.equip_type == 7 or self.good.equip_type == 8 then
return
end
if self.upstageBg == nil then
self.upstageBg = self.root_wnd:CreateChildNoName(UIType.ImageBox, "")
end
self.upstageBg:SetBool(ImageBoxProperty.AutoSize, true)
self.upstageBg:SetVector2(WidgetProperty.Position, Game.Vector2(8, 8))
self.upstageBg:SetString(ImageBoxProperty.Source, "comp_icon:dz_blackbg")
local real = num
if num > 5 then
real = num - 5
end
local gap = 5 - real
-- local num = 5 - num
for i = 1, 5 do
local star = self.star_list[i]
if star == nil then
star = self.upstageBg:CreateChildNoName(UIType.ImageBox, "")
self.star_list[i] = star
end
star:SetBool(ImageBoxProperty.AutoSize, true)
if i <= gap then
star:SetString(ImageBoxProperty.Source, "comp_icon:dz_sun1")
else
if num > 5 then
star:SetString(ImageBoxProperty.Source, "comp_icon:dz_sun2")
else
star:SetString(ImageBoxProperty.Source, "comp_icon:dz_sun")
end
end
star:SetVector2(WidgetProperty.Size,Game.Vector2(20, 21))
star:SetVector2(WidgetProperty.Position, Game.Vector2(3, (i - 1) * 20 ))
end
end
--清掉进阶小太阳
function AwardItem:clearUpstage()
if self.upstageBg then
self.upstageBg:DeleteMe()
self.upstageBg = nil
end
for i,v in ipairs(self.star_list) do
v:DeleteMe()
v = nil
end
self.star_list = {}
end
--没有物品ID时设置默认样式
function AwardItem:SetDefaultStype( ... )
self.typeIcon:SetBool(WidgetProperty.Visible,true)
self.typeIcon:SetString(ImageBoxProperty.Source,"comp:"..WordManager:getGoodBgByColor(0))
self.typeIcon:SetVector2(WidgetProperty.Size,Game.Vector2(self.width_value or 120,self.height or 120))
end
--器灵装备显示阶数,星数标签
function AwardItem:CreateTalismanEquipTag(style, step_num, star_num)
local source = ""
if style == 1 then --显示阶和星
source = GameRes.PathTool.GetTalismanEquipTag(1, step_num, star_num)
elseif style == 2 then --只显示阶
source = GameRes.PathTool.GetTalismanEquipTag(2, step_num)
elseif style == 3 then --只显示星
source = GameRes.PathTool.GetTalismanEquipTag(3, nil, star_num)
end
if source and source ~= "" then
self.tagBg:SetString(ImageBoxProperty.Source, source)
end
end
function AwardItem:resetTalismanEquipSize(bord)
if self.tagBg then
self.tagBg:SetVector2(WidgetProperty.Position, Game.Vector2(bord4, bord/4))
self.tagBg:SetVector2(WidgetProperty.Size, Game.Vector2(self.width_value-bord4, self.height-bord*4))
end
end
--清掉进阶小太阳
function AwardItem:clearTalismanEquipTag()
if self.tagBg then
self.tagBg:SetString(ImageBoxProperty.Source, "")
end
end
function AwardItem:CreateBuffetTag( id )
local get_num = Config.Selfgift[id].reward_num
self.buffetBg:SetString(ImageBoxProperty.Source, "xx_tooltips:to_choose_"..get_num)
end
function AwardItem:resetBuffetGiftSize( bord )
self.buffetBg:SetVector2(WidgetProperty.Position, Game.Vector2(bord/3, bord/3))
self.buffetBg:SetVector2(WidgetProperty.Size, Game.Vector2(self.width_value-bord4, self.height-bord4))
end
function AwardItem:ClearBuffetTag( )
if self.buffetBg then
self.buffetBg:SetString(ImageBoxProperty.Source, "")
end
end`
{
"luaforvscode.luapath":"D:\mylua",
"luaforvscode.includekeyword":"Include,Require,require,dofile,include",
"luaforvscode.luaversion" : 4
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.