From 48ce3a3d8f2f2ad07fc37e38943fb651afc063e6 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Fri, 9 Apr 2021 17:33:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=80=E5=87=BA=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/language/lang_en.lua | 1 + parts/language/lang_fr.lua | 1 + parts/language/lang_pt.lua | 1 + parts/language/lang_sp.lua | 1 + parts/language/lang_zh.lua | 1 + parts/net.lua | 9 ++++++--- parts/scenes/main.lua | 2 +- parts/scenes/net_menu.lua | 26 ++++++++++++++++++++++---- 8 files changed, 34 insertions(+), 8 deletions(-) diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index 54d58995..b4745f99 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -246,6 +246,7 @@ return{ ffa="FFA", rooms="Rooms", chat="Chat", + logout="Log out", }, net_rooms={ refreshing="Refreshing Rooms", diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index 10b51eac..af9a8ed2 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -219,6 +219,7 @@ return{ ffa="FFA", rooms="Salons", chat="Chat", + -- logout="Log out", }, net_rooms={ -- refreshing="Refreshing Rooms", diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index a6ea49e9..d8c6782e 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -246,6 +246,7 @@ return{ ffa="FFA", rooms="Salas", chat="Chat", + -- logout="Log out", }, net_rooms={ -- refreshing="Refreshing Rooms", diff --git a/parts/language/lang_sp.lua b/parts/language/lang_sp.lua index b48fd6d8..8315d1c1 100644 --- a/parts/language/lang_sp.lua +++ b/parts/language/lang_sp.lua @@ -224,6 +224,7 @@ return{ ffa="FFA", rooms="Salas", chat="Chat", + -- logout="Log out", }, net_rooms={ -- refreshing="Refreshing Rooms", diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 7d14d06d..aa54fff8 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -246,6 +246,7 @@ return{ ffa="FFA", rooms="房间列表", chat="聊天室", + logout="退出登录", }, net_rooms={ refreshing="刷新房间列表中", diff --git a/parts/net.lua b/parts/net.lua index 2c3951af..7c2cefb2 100644 --- a/parts/net.lua +++ b/parts/net.lua @@ -2,7 +2,6 @@ local data=love.data local ins,rem=table.insert,table.remove local WS,TIME=WS,TIME local NET={ - login=false, allow_online=false, roomList={}, accessToken=false, @@ -110,6 +109,9 @@ function NET.wsconn_stream() end --Disconnect +function NET.wsclose_user() + WS.close("user") +end function NET.wsclose_play() WS.close("play") end @@ -152,7 +154,7 @@ function NET.storeUserInfo(res) --Get own name if res.uid==USER.uid then USER.username=res.username - FILE.save(USER,"conf/user") + FILE.save(USER,"conf/user","q") end -- FILE.save(USERS,"conf/users") @@ -282,10 +284,11 @@ function NET.updateWS_user() local res=_parse(message) if res then if res.type=="Connect"then - NET.login=true if res.uid then USER.uid=res.uid USER.authToken=res.authToken + WIDGET.active.email:clear() + WIDGET.active.password:clear() FILE.save(USER,"conf/user","q") SCN.back() end diff --git a/parts/scenes/main.lua b/parts/scenes/main.lua index 08b66486..3301da42 100644 --- a/parts/scenes/main.lua +++ b/parts/scenes/main.lua @@ -71,7 +71,7 @@ function scene.keyDown(key) end elseif key=="a"then if testButton(3)then - if NET.login then + if WS.status("user")=="running"then if not NET.allow_online then TEXT.show(text.needUpdate,640,450,60,"flicker") SFX.play("finesseError") diff --git a/parts/scenes/net_menu.lua b/parts/scenes/net_menu.lua index 054d5ebc..8fae9ab6 100644 --- a/parts/scenes/net_menu.lua +++ b/parts/scenes/net_menu.lua @@ -1,6 +1,9 @@ +local lastLogoutTime + local scene={} function scene.sceneInit() + lastLogoutTime=-1e99 BG.set("space") end function scene.sceneBack() @@ -8,10 +11,25 @@ function scene.sceneBack() end scene.widgetList={ - -- WIDGET.newButton{name="ffa", x=640, y=200,w=350,h=120,font=40,code=NULL}, - WIDGET.newButton{name="rooms", x=640, y=360,w=350,h=120,font=40,code=goScene"net_rooms"}, - -- WIDGET.newButton{name="chat", x=640, y=540,w=350,h=120,font=40,code=goScene"net_chat"}, - WIDGET.newButton{name="back", x=1140, y=640,w=170,h=80,font=40,code=backScene}, + WIDGET.newButton{name="ffa", x=640, y=200,w=350,h=120,color="black",font=40,code=NULL}, + WIDGET.newButton{name="rooms", x=640, y=360,w=350,h=120, font=40,code=goScene"net_rooms"}, + WIDGET.newButton{name="chat", x=640, y=540,w=350,h=120,color="black",font=40,code=NULL}, + WIDGET.newButton{name="logout", x=1140, y=70,w=180,h=70,color="dR",code=function() + if TIME()-lastLogoutTime<1 then + if USER.uid then + NET.wsclose_play() + NET.wsclose_user() + USER.username=false + USER.uid=false + USER.authToken=false + FILE.save(USER,"conf/user","q") + SCN.back() + end + else + lastLogoutTime=TIME() + end + end}, + WIDGET.newButton{name="back", x=1140, y=640,w=170,h=80, font=40,code=backScene}, } return scene \ No newline at end of file