From 95bc979da7fecb33632100a862dd579a8e9cc899 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Fri, 14 May 2021 19:45:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E8=8F=9C=E5=8D=95=E7=82=B9=E8=81=94?= =?UTF-8?q?=E7=BD=91=E6=B8=B8=E6=88=8F=E6=8C=89=E9=92=AE=E5=B0=9D=E8=AF=95?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=97=B6=E4=BC=9A=E6=9C=89=E6=96=87=E5=AD=97?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=EF=BC=8C=E6=88=BF=E9=97=B4=E5=86=85=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=98=BE=E7=A4=BA=E5=85=B6=E4=BB=96=E7=8E=A9=E5=AE=B6?= =?UTF-8?q?=E7=9A=84ws(stream)=E8=BF=9E=E6=8E=A5=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/language/lang_en.lua | 2 +- parts/language/lang_fr.lua | 2 +- parts/language/lang_pt.lua | 2 +- parts/language/lang_sp.lua | 2 +- parts/language/lang_zh.lua | 2 +- parts/net.lua | 11 ++++++++--- parts/netPlayer.lua | 20 +++++++++++++++++--- parts/scenes/net_game.lua | 18 +++++++++++------- parts/scenes/net_rooms.lua | 1 + 9 files changed, 42 insertions(+), 18 deletions(-) diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index 263778e1..4a091dc8 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -109,7 +109,7 @@ return{ leaveRoom="has left the room.", ready="READY", connStream="CONNECTING", - waitStream="CONNECTED", + waitStream="WAITING", champion="$1 won", chatRemain="Online", chatStart="------Beginning of log------", diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index 44649235..71016df9 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -109,7 +109,7 @@ return{ leaveRoom="a quitté le salon.", -- ready="READY", -- connStream="CONNECTING", - -- waitStream="CONNECTED", + -- waitStream="WAITING", champion="$1 a gagné", chatRemain="En ligne : ", chatStart="--------Début des logs--------", diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index c055a33d..a8e56ba2 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -109,7 +109,7 @@ return{ leaveRoom="Saiu da sala.", -- ready="READY", -- connStream="CONNECTING", - -- waitStream="CONNECTED", + -- waitStream="WAITING", -- champion="$1 won", chatRemain="Online", chatStart="------Começo do log------", diff --git a/parts/language/lang_sp.lua b/parts/language/lang_sp.lua index 4ac94d46..1e4484e0 100644 --- a/parts/language/lang_sp.lua +++ b/parts/language/lang_sp.lua @@ -109,7 +109,7 @@ return{ leaveRoom="salió de la sala.", -- ready="READY", -- connStream="CONNECTING", - -- waitStream="CONNECTED", + -- waitStream="WAITING", champion="$1 ganó!", chatRemain="Usuarios en línea: ", chatStart="------Comienzo del historial------", diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index d82e8c43..bb2ae1c1 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -109,7 +109,7 @@ return{ leaveRoom="离开房间", ready="各就各位!", connStream="正在连接", - waitStream="等待他人连接", + waitStream="等待其他人连接", champion="$1 获胜", chatRemain="人数:", chatStart="------消息的开头------", diff --git a/parts/net.lua b/parts/net.lua index b537ac94..c0e41ed2 100644 --- a/parts/net.lua +++ b/parts/net.lua @@ -20,8 +20,9 @@ local NET={ }, allReady=false, connectingStream=false, - streamRoomID=false, + waitingStream=false, serverGaming=false, + streamRoomID=false, UserCount="_", PlayCount="_", @@ -482,14 +483,18 @@ function NET.updateWS_stream() local d=res.data if res.type=='Connect'then NET.unlock('wsc_stream') - elseif res.action==0 then--Game start NET.connectingStream=false + NET.waitingStream=true + netPLY.setConnect(USER.uid) + netPLY.freshStreamConn(res.data.connected) + elseif res.action==0 then--Game start + NET.waitingStream=false if SCN.socketRead then SCN.socketRead('go',d)end NET.roomInfo.start=true elseif res.action==1 then--Game finished --? elseif res.action==2 then--Player join - --? + netPLY.setConnect(d.uid) elseif res.action==3 then--Player leave --? elseif res.action==4 then--Player died diff --git a/parts/netPlayer.lua b/parts/netPlayer.lua index 316e48a9..bacf8b55 100644 --- a/parts/netPlayer.lua +++ b/parts/netPlayer.lua @@ -87,6 +87,7 @@ end function netPLY.clear()for _=1,netPLY.getCount()do rem(PLY)end end function netPLY.add(p) + p.connected=false ins(PLY,p.uid==USER.uid and 1 or #PLY+1,p) local a=rnd()*6.2832 p.x,p.y,p.w,p.h=640+2600*cos(a),360+2600*sin(a),47,47 @@ -101,7 +102,6 @@ function netPLY.rawgetPLY(i)return PLY[i]end function netPLY.getUsername(uid)return getPLY(uid).username end function netPLY.getSID(uid)return getPLY(uid).sid end function netPLY.getSelfReady()return PLY[1].ready end - function netPLY.setPlayerObj(ply,p)ply.p=p end function netPLY.setConf(uid,config)getPLY(uid).config=config end function netPLY.setReady(uid,ready) @@ -126,9 +126,23 @@ function netPLY.setReady(uid,ready) end end end -function netPLY.resetReady() +function netPLY.setConnect(uid) + for _,p in next,PLY do + if p.uid==uid then + p.connected=true + return + end + end +end +function netPLY.freshStreamConn(list) + for _,uid in next,list do + getPLY(uid).connected=true + end +end +function netPLY.resetState() for i=1,#PLY do PLY[i].ready=false + PLY[i].connected=false end end @@ -165,7 +179,7 @@ function netPLY.draw() local p=PLY[i] gc.translate(p.x,p.y) --Rectangle - gc.setColor(COLOR[p.ready and'G'or'Z']) + gc.setColor(COLOR[p.connected and"N"or p.ready and'A'or'Z']) gc.setLineWidth(2) gc.rectangle('line',0,0,p.w,p.h) diff --git a/parts/scenes/net_game.lua b/parts/scenes/net_game.lua index 21f4eec3..ebcc4b25 100644 --- a/parts/scenes/net_game.lua +++ b/parts/scenes/net_game.lua @@ -174,7 +174,7 @@ function scene.socketRead(cmd,d) if not playing then playing=true love.keyboard.setKeyRepeat(false) - netPLY.resetReady() + netPLY.resetState() netPLY.mouseMove(0,0) lastUpstreamTime=0 upstreamProgress=1 @@ -264,12 +264,16 @@ function scene.draw() netPLY.draw() --Ready & Set mark - gc.setColor(.1,1,0,.9) - setFont(60) - if NET.connectingStream then - mStr(text.set,640,10) - elseif NET.allReady then - mStr(text.ready,640,10) + setFont(50) + if NET.allReady then + gc.setColor(0,1,.5,.9) + mStr(text.ready,640,15) + elseif NET.connectingStream then + gc.setColor(.1,1,.8,.9) + mStr(text.connStream,640,15) + elseif NET.waitingStream then + gc.setColor(0,.8,1,.9) + mStr(text.waitStream,640,15) end --Room info. diff --git a/parts/scenes/net_rooms.lua b/parts/scenes/net_rooms.lua index cb306baf..c931d2a1 100644 --- a/parts/scenes/net_rooms.lua +++ b/parts/scenes/net_rooms.lua @@ -19,6 +19,7 @@ function scene.sceneInit() BG.set() NET.allReady=false NET.connectingStream=false + NET.waitingStream=false scrollPos=0 selected=1 fetchRoom()