miduo_client/Assets/ManagedResources/~Lua/Modules/Hero/HeroSkinManager.lua

52 lines
1.4 KiB
Lua

HeroSkinManager = {}
local this = HeroSkinManager
this.skinDatas = {}
function this.Initialize()
end
function this.InitialSkin(msg,index)
if not index or index == 0 then
this.skinDatas = {}
for i = 1, #msg.skinInfo do
this.skinDatas[msg.skinInfo[i].skinId] = {}
this.skinDatas[msg.skinInfo[i].skinId].id = msg.skinInfo[i].skinId
this.skinDatas[msg.skinInfo[i].skinId].overTime = msg.skinInfo[i].overTime
end
else
this.skinDatas[msg.skinInfo.skinId] = {}
this.skinDatas[msg.skinInfo.skinId].id = msg.skinInfo.skinId
this.skinDatas[msg.skinInfo.skinId].overTime = msg.skinInfo.overTime
end
this.UpdateSkinDatasOverTime()
end
function this.UpdateSkinDatasOverTime()
if this.timer then
this.timer:Stop()
this.timer = nil
end
this.timer = Timer.New(function()
for k,v in pairs(this.skinDatas) do
if v and v.overTime > 0 then
v.overTime = v.overTime - 1
if v.overTime == 0 then
this.RemoveSkin(v.id)
end
end
end
end, 1, -1, true)
this.timer:Start()
end
function this.RemoveSkin(id)
this.skinDatas[id] = nil
end
function this.IsExist(id)
if this.skinDatas[id] then
return true
else
return false
end
end
return this