代码规范:把所有的tab换成空格
This commit is contained in:
122
parts/users.lua
122
parts/users.lua
@@ -1,91 +1,91 @@
|
||||
local gc,fs=love.graphics,love.filesystem
|
||||
|
||||
local emptyUser={
|
||||
username="Stacker",
|
||||
motto="",
|
||||
hash="",
|
||||
new=false,
|
||||
username="Stacker",
|
||||
motto="",
|
||||
hash="",
|
||||
new=false,
|
||||
}
|
||||
local defaultAvatar={}
|
||||
for i=1,29 do
|
||||
local img=TEXTURE.miniBlock[i]
|
||||
defaultAvatar[i]=GC.DO{128,128,
|
||||
{'clear',.1,.1,.1},
|
||||
{'draw',img,63,63,.2,30,30,img:getWidth()/2,img:getHeight()/2},
|
||||
}
|
||||
local img=TEXTURE.miniBlock[i]
|
||||
defaultAvatar[i]=GC.DO{128,128,
|
||||
{'clear',.1,.1,.1},
|
||||
{'draw',img,63,63,.2,30,30,img:getWidth()/2,img:getHeight()/2},
|
||||
}
|
||||
end
|
||||
local errorAvatar=GC.DO{128,128,
|
||||
{'setCL',1,.2,.15},
|
||||
{'setLW',10},
|
||||
{'line',10,10,117,117},
|
||||
{'line',10,117,117,10},
|
||||
{'setCL',1,.2,.15},
|
||||
{'setLW',10},
|
||||
{'line',10,10,117,117},
|
||||
{'line',10,117,117,10},
|
||||
}
|
||||
local function _loadAvatar(path)
|
||||
local success,img=pcall(gc.newImage,path)
|
||||
if success then
|
||||
local canvas=gc.newCanvas(128,128)
|
||||
gc.push()
|
||||
gc.origin()
|
||||
gc.setColor(1,1,1)
|
||||
gc.setCanvas(canvas)
|
||||
mDraw(img,64,64,nil,128/math.max(img:getWidth(),img:getHeight()))
|
||||
gc.setCanvas()
|
||||
gc.pop()
|
||||
return canvas
|
||||
else
|
||||
return errorAvatar
|
||||
end
|
||||
local success,img=pcall(gc.newImage,path)
|
||||
if success then
|
||||
local canvas=gc.newCanvas(128,128)
|
||||
gc.push()
|
||||
gc.origin()
|
||||
gc.setColor(1,1,1)
|
||||
gc.setCanvas(canvas)
|
||||
mDraw(img,64,64,nil,128/math.max(img:getWidth(),img:getHeight()))
|
||||
gc.setCanvas()
|
||||
gc.pop()
|
||||
return canvas
|
||||
else
|
||||
return errorAvatar
|
||||
end
|
||||
end
|
||||
|
||||
local db_img={}
|
||||
local db=setmetatable({},{__index=function(self,uid)
|
||||
if not uid then return emptyUser end
|
||||
local file="cache/user"..uid..".dat"
|
||||
local d=fs.getInfo(file)and JSON.decode(fs.read(file))or TABLE.copy(emptyUser)
|
||||
rawset(self,uid,d)
|
||||
db_img[uid]=
|
||||
type(d.hash)=='string'and #d.hash>0 and fs.getInfo("cache/"..d.hash)and
|
||||
_loadAvatar("cache/"..d.hash)or
|
||||
defaultAvatar[(uid-26)%29+1]
|
||||
return d
|
||||
if not uid then return emptyUser end
|
||||
local file="cache/user"..uid..".dat"
|
||||
local d=fs.getInfo(file)and JSON.decode(fs.read(file))or TABLE.copy(emptyUser)
|
||||
rawset(self,uid,d)
|
||||
db_img[uid]=
|
||||
type(d.hash)=='string'and #d.hash>0 and fs.getInfo("cache/"..d.hash)and
|
||||
_loadAvatar("cache/"..d.hash)or
|
||||
defaultAvatar[(uid-26)%29+1]
|
||||
return d
|
||||
end})
|
||||
|
||||
local USERS={}
|
||||
|
||||
function USERS.updateUserData(data)
|
||||
local uid=data.uid
|
||||
db[uid].username=data.username
|
||||
db[uid].motto=data.motto
|
||||
fs.write("cache/user"..uid..".dat",JSON.encode{
|
||||
username=data.username,
|
||||
motto=data.motto,
|
||||
hash=data.hash or db[uid].hash,
|
||||
})
|
||||
if data.avatar then
|
||||
fs.write("cache/"..data.hash,love.data.decode('string','base64',data.avatar:sub(data.avatar:find(",")+1)))
|
||||
db_img[uid]=_loadAvatar("cache/"..data.hash)
|
||||
db[uid].hash=type(data.hash)=='string'and #data.hash>0 and data.hash
|
||||
end
|
||||
local uid=data.uid
|
||||
db[uid].username=data.username
|
||||
db[uid].motto=data.motto
|
||||
fs.write("cache/user"..uid..".dat",JSON.encode{
|
||||
username=data.username,
|
||||
motto=data.motto,
|
||||
hash=data.hash or db[uid].hash,
|
||||
})
|
||||
if data.avatar then
|
||||
fs.write("cache/"..data.hash,love.data.decode('string','base64',data.avatar:sub(data.avatar:find(",")+1)))
|
||||
db_img[uid]=_loadAvatar("cache/"..data.hash)
|
||||
db[uid].hash=type(data.hash)=='string'and #data.hash>0 and data.hash
|
||||
end
|
||||
end
|
||||
|
||||
function USERS.getUsername(uid)return db[uid].username end
|
||||
function USERS.getMotto(uid)return db[uid].motto end
|
||||
function USERS.getHash(uid)return db[uid].hash or""end
|
||||
function USERS.getAvatar(uid)
|
||||
if uid then
|
||||
if not db[uid].new then
|
||||
NET.getUserInfo(uid)
|
||||
db[uid].new=true
|
||||
end
|
||||
return db_img[uid]
|
||||
else
|
||||
return defaultAvatar[1]
|
||||
end
|
||||
if uid then
|
||||
if not db[uid].new then
|
||||
NET.getUserInfo(uid)
|
||||
db[uid].new=true
|
||||
end
|
||||
return db_img[uid]
|
||||
else
|
||||
return defaultAvatar[1]
|
||||
end
|
||||
end
|
||||
function USERS.forceFreshAvatar()
|
||||
for _,U in next,db do
|
||||
U.new=false
|
||||
end
|
||||
for _,U in next,db do
|
||||
U.new=false
|
||||
end
|
||||
end
|
||||
|
||||
return USERS
|
||||
Reference in New Issue
Block a user