From 177edbf7d63b1edf82d9b292e2aeb1e535b7c813 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Fri, 7 May 2021 02:37:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=8E=A9=E5=AE=B6=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=9A=84=E9=87=8D=E5=A4=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/modes/netBattle.lua | 4 ++-- parts/netPlayer.lua | 21 ++++++--------------- parts/player/init.lua | 12 ++++++------ parts/scenes/net_game.lua | 10 +++++----- 4 files changed, 19 insertions(+), 28 deletions(-) diff --git a/parts/modes/netBattle.lua b/parts/modes/netBattle.lua index 022d1976..ba8f2da5 100644 --- a/parts/modes/netBattle.lua +++ b/parts/modes/netBattle.lua @@ -10,9 +10,9 @@ return{ }, load=function() PLY.newPlayer(1) - PLAYERS[1].sid=netPLY.getSID(1) + PLAYERS[1].sid=netPLY.getSID(USER.uid) for i=2,netPLY.getCount()do - PLY.newRemotePlayer(i,false,netPLY.getUID(i)) + PLY.newRemotePlayer(i,false,netPLY.getPLY(i)) end end, } \ No newline at end of file diff --git a/parts/netPlayer.lua b/parts/netPlayer.lua index feb7d316..8f77a3bc 100644 --- a/parts/netPlayer.lua +++ b/parts/netPlayer.lua @@ -85,9 +85,7 @@ local function freshPosList() end end -function netPLY.clear() - while PLY[1]do rem(PLY)end -end +function netPLY.clear()for _=1,netPLY.getCount()do rem(PLY)end end function netPLY.add(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 @@ -104,20 +102,13 @@ function netPLY.remove(sid) 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.getSID(i)return PLY[i].sid end -function netPLY.getReady(i)return PLY[i].ready end -function netPLY.getConfig(i)return PLY[i].config end +function netPLY.getSID(uid)return PLY[uid].sid end +function netPLY.getSelfReady()return PLY[1].ready end -function netPLY.setPlayerObj(uid,p) - PLY[uid].p=p -end -function netPLY.setConf(uid,config) - if tostring(USER.uid)~=uid then - PLY[uid].config=config - end -end +function netPLY.setPlayerObj(ply,p) ply.p=p end +function netPLY.setConf(uid,config)PLY[uid].config=config end function netPLY.setReady(uid,ready) for i,p in next,PLY do if p.uid==uid then diff --git a/parts/player/init.lua b/parts/player/init.lua index d0114c45..dcb2e3a5 100644 --- a/parts/player/init.lua +++ b/parts/player/init.lua @@ -373,7 +373,7 @@ function PLY.newDemoPlayer(id) } P:popNext() end -function PLY.newRemotePlayer(id,mini,uid) +function PLY.newRemotePlayer(id,mini,ply) local P=newEmptyPlayer(id,mini) P.type='remote' P.update=PLY.update.remote_alive @@ -383,11 +383,11 @@ function PLY.newRemotePlayer(id,mini,uid) P.stream={} P.streamProgress=1 - netPLY.setPlayerObj(uid,P) - P.uid=uid - P.username=netPLY.getUsername(uid) - P.sid=netPLY.getSID(uid) - loadRemoteEnv(P,netPLY.getConfig(uid)) + netPLY.setPlayerObj(ply,P) + P.uid=ply.uid + P.username=ply.username + P.sid=ply.sid + loadRemoteEnv(P,ply.config) applyGameEnv(P) end diff --git a/parts/scenes/net_game.lua b/parts/scenes/net_game.lua index 85b1cf21..c2c58c34 100644 --- a/parts/scenes/net_game.lua +++ b/parts/scenes/net_game.lua @@ -95,9 +95,9 @@ function scene.keyDown(key) end else if key=="space"then - NET.signal_ready(not netPLY.getReady(1)) + NET.signal_ready(not netPLY.getSelfReady()) 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') end end @@ -276,13 +276,13 @@ function scene.draw() end scene.widgetList={ 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", hide=function() return playing or NET.serverGaming or - netPLY.getReady(1)or + netPLY.getSelfReady()or NET.getlock('ready') end}, 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 playing or NET.serverGaming or - not netPLY.getReady(1)or + not netPLY.getSelfReady()or NET.getlock('ready') end}, WIDGET.newKey{name="hideChat",fText="...",x=380,y=35,w=60,font=35,code=pressKey"\\"},