2025-06-04 05:12:01 +08:00

106 lines
2.1 KiB
Plaintext

PortraitData = class("PortraitData")
-- 目前只有性別會影響頭像 相框
function PortraitData:ctor(sex)
sex = sex or 1;
self.allPortraits = {};
self.manPortraits = {};
self.manPortraits[1] = {}
self.manPortraits[2] = {}
self.otherPortraits = {};
self.allFrame = {};
for k,v in pairs(Table_HeadImage) do
if(v.Type == 3)then
self.allFrame[k] = v;
v.Lock = 1;
else
-- if(v.sex == nil or v.sex == sex)then
self.allPortraits[k] = v;
v.Lock = 1;
if(v.Type == 1)then
if(v.sex~=nil) then
self.manPortraits[v.sex][k] = v
else
self.manPortraits[1][k] = v
self.manPortraits[2][k] = v
end
elseif(v.Type == 2)then
self.otherPortraits[k] = v;
end
-- end
end
end
end
function PortraitData:UnlockPortrait(id)
local data = self.allPortraits[id];
if(data~=nil)then
data.Lock = 0;
end
end
function PortraitData:UnlockFrame(id)
local data = self.allFrame[id];
if(data~=nil)then
data.Lock = 0;
end
end
function PortraitData:GetPortrait(id)
return self.allPortraits[id];
end
function PortraitData:GetFrame(id)
return self.allFrame[id];
end
function PortraitData:GetManPortraits(sex)
sex = sex or 1
return self.manPortraits[sex]
end
function PortraitData:GetOrderManPortraits(sex)
sex = sex or 1
local manPortraits = self.manPortraits[sex]
local result = {}
for k,v in pairs(manPortraits)do
result[#result+1] = v
end
table.sort(result, function (a, b)
if(a.Lock~=b.Lock)then
return a.Lock < b.Lock;
end
return a.id < b.id;
end);
return result;
end
function PortraitData:GetOrderOtherPortraits()
local result = {}
for k,v in pairs(self.otherPortraits)do
table.insert(result, v);
end
table.sort(result, function (a, b)
if(a.Lock~=b.Lock)then
return a.Lock < b.Lock;
end
return a.id < b.id;
end);
return result;
end
function PortraitData:GetOrderFrames()
local result = {}
for k,v in pairs(self.allFrame)do
table.insert(result, v);
end
table.sort(result, function (a, b)
if(a.Lock~=b.Lock)then
return a.Lock < b.Lock;
end
return a.id < b.id;
end);
return result;
end