修复玩家模块的重大问题
This commit is contained in:
@@ -10,9 +10,9 @@ return{
|
|||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1)
|
PLY.newPlayer(1)
|
||||||
PLAYERS[1].sid=netPLY.getSID(1)
|
PLAYERS[1].sid=netPLY.getSID(USER.uid)
|
||||||
for i=2,netPLY.getCount()do
|
for i=2,netPLY.getCount()do
|
||||||
PLY.newRemotePlayer(i,false,netPLY.getUID(i))
|
PLY.newRemotePlayer(i,false,netPLY.getPLY(i))
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
@@ -85,9 +85,7 @@ local function freshPosList()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function netPLY.clear()
|
function netPLY.clear()for _=1,netPLY.getCount()do rem(PLY)end end
|
||||||
while PLY[1]do rem(PLY)end
|
|
||||||
end
|
|
||||||
function netPLY.add(p)
|
function netPLY.add(p)
|
||||||
ins(PLY,p.uid==USER.uid and 1 or #PLY+1,p)
|
ins(PLY,p.uid==USER.uid and 1 or #PLY+1,p)
|
||||||
p.x,p.y,p.w,p.h=2600,2600,0,0
|
p.x,p.y,p.w,p.h=2600,2600,0,0
|
||||||
@@ -104,20 +102,13 @@ function netPLY.remove(sid)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function netPLY.getCount()return #PLY end
|
function netPLY.getCount()return #PLY end
|
||||||
function netPLY.getUID(i)return PLY[i].uid end
|
function netPLY.getPLY(i)return PLY[i]end
|
||||||
function netPLY.getUsername(uid)return PLY[uid].username end
|
function netPLY.getUsername(uid)return PLY[uid].username end
|
||||||
function netPLY.getSID(i)return PLY[i].sid end
|
function netPLY.getSID(uid)return PLY[uid].sid end
|
||||||
function netPLY.getReady(i)return PLY[i].ready end
|
function netPLY.getSelfReady()return PLY[1].ready end
|
||||||
function netPLY.getConfig(i)return PLY[i].config end
|
|
||||||
|
|
||||||
function netPLY.setPlayerObj(uid,p)
|
function netPLY.setPlayerObj(ply,p) ply.p=p end
|
||||||
PLY[uid].p=p
|
function netPLY.setConf(uid,config)PLY[uid].config=config end
|
||||||
end
|
|
||||||
function netPLY.setConf(uid,config)
|
|
||||||
if tostring(USER.uid)~=uid then
|
|
||||||
PLY[uid].config=config
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function netPLY.setReady(uid,ready)
|
function netPLY.setReady(uid,ready)
|
||||||
for i,p in next,PLY do
|
for i,p in next,PLY do
|
||||||
if p.uid==uid then
|
if p.uid==uid then
|
||||||
|
|||||||
@@ -373,7 +373,7 @@ function PLY.newDemoPlayer(id)
|
|||||||
}
|
}
|
||||||
P:popNext()
|
P:popNext()
|
||||||
end
|
end
|
||||||
function PLY.newRemotePlayer(id,mini,uid)
|
function PLY.newRemotePlayer(id,mini,ply)
|
||||||
local P=newEmptyPlayer(id,mini)
|
local P=newEmptyPlayer(id,mini)
|
||||||
P.type='remote'
|
P.type='remote'
|
||||||
P.update=PLY.update.remote_alive
|
P.update=PLY.update.remote_alive
|
||||||
@@ -383,11 +383,11 @@ function PLY.newRemotePlayer(id,mini,uid)
|
|||||||
P.stream={}
|
P.stream={}
|
||||||
P.streamProgress=1
|
P.streamProgress=1
|
||||||
|
|
||||||
netPLY.setPlayerObj(uid,P)
|
netPLY.setPlayerObj(ply,P)
|
||||||
P.uid=uid
|
P.uid=ply.uid
|
||||||
P.username=netPLY.getUsername(uid)
|
P.username=ply.username
|
||||||
P.sid=netPLY.getSID(uid)
|
P.sid=ply.sid
|
||||||
loadRemoteEnv(P,netPLY.getConfig(uid))
|
loadRemoteEnv(P,ply.config)
|
||||||
|
|
||||||
applyGameEnv(P)
|
applyGameEnv(P)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -95,9 +95,9 @@ function scene.keyDown(key)
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
if key=="space"then
|
if key=="space"then
|
||||||
NET.signal_ready(not netPLY.getReady(1))
|
NET.signal_ready(not netPLY.getSelfReady())
|
||||||
elseif key=="s"then
|
elseif key=="s"then
|
||||||
if not(netPLY.getReady(1)or NET.getlock('ready'))then
|
if not(netPLY.getSelfReady()or NET.getlock('ready'))then
|
||||||
SCN.go('setting_game')
|
SCN.go('setting_game')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -276,13 +276,13 @@ function scene.draw()
|
|||||||
end
|
end
|
||||||
scene.widgetList={
|
scene.widgetList={
|
||||||
textBox,
|
textBox,
|
||||||
WIDGET.newKey{name="setting",fText=TEXTURE.setting,x=1200,y=160,w=90,h=90,code=pressKey"s",hide=function()return playing or netPLY.getReady(1)or NET.getlock('ready')end},
|
WIDGET.newKey{name="setting",fText=TEXTURE.setting,x=1200,y=160,w=90,h=90,code=pressKey"s",hide=function()return playing or netPLY.getSelfReady()or NET.getlock('ready')end},
|
||||||
WIDGET.newKey{name="ready",x=1060,y=630,w=300,h=80,color='lB',font=40,code=pressKey"space",
|
WIDGET.newKey{name="ready",x=1060,y=630,w=300,h=80,color='lB',font=40,code=pressKey"space",
|
||||||
hide=function()
|
hide=function()
|
||||||
return
|
return
|
||||||
playing or
|
playing or
|
||||||
NET.serverGaming or
|
NET.serverGaming or
|
||||||
netPLY.getReady(1)or
|
netPLY.getSelfReady()or
|
||||||
NET.getlock('ready')
|
NET.getlock('ready')
|
||||||
end},
|
end},
|
||||||
WIDGET.newKey{name="cancel",x=1060,y=630,w=300,h=80,color='H',font=40,code=pressKey"space",
|
WIDGET.newKey{name="cancel",x=1060,y=630,w=300,h=80,color='H',font=40,code=pressKey"space",
|
||||||
@@ -290,7 +290,7 @@ scene.widgetList={
|
|||||||
return
|
return
|
||||||
playing or
|
playing or
|
||||||
NET.serverGaming or
|
NET.serverGaming or
|
||||||
not netPLY.getReady(1)or
|
not netPLY.getSelfReady()or
|
||||||
NET.getlock('ready')
|
NET.getlock('ready')
|
||||||
end},
|
end},
|
||||||
WIDGET.newKey{name="hideChat",fText="...",x=380,y=35,w=60,font=35,code=pressKey"\\"},
|
WIDGET.newKey{name="hideChat",fText="...",x=380,y=35,w=60,font=35,code=pressKey"\\"},
|
||||||
|
|||||||
Reference in New Issue
Block a user