From 3e7950a7c372d0fcdb82ddb28df7d9518222c964 Mon Sep 17 00:00:00 2001 From: notify Date: Sun, 28 May 2023 18:45:37 +0800 Subject: [PATCH] fix --- Fk/Logic.js | 2 +- Fk/Pages/Room.qml | 3 ++- Fk/Pages/RoomLogic.js | 7 ++----- Fk/RoomElement/Photo.qml | 6 +++--- lua/client/client.lua | 14 ++++++++++++-- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Fk/Logic.js b/Fk/Logic.js index d94bf479..c413f893 100644 --- a/Fk/Logic.js +++ b/Fk/Logic.js @@ -113,7 +113,7 @@ callbacks["UpdateRoomList"] = function(jsonData) { gameMode: room[2], playerNum: room[3], capacity: room[4], - hasPassword: room[5], + hasPassword: room[5] ? true : false, }); }); } diff --git a/Fk/Pages/Room.qml b/Fk/Pages/Room.qml index 2c50b6d7..921022ab 100644 --- a/Fk/Pages/Room.qml +++ b/Fk/Pages/Room.qml @@ -361,7 +361,8 @@ Item { anchors.rightMargin: 20 color: "#88EEEEEE" radius: 8 - visible: roomScene.state == "playing" && (specialCardSkills.count > 1 || specialCardSkills.model[0] !== "_normal_use") + visible: roomScene.state == "playing" && (specialCardSkills.count > 1 + || (specialCardSkills.model && specialCardSkills.model[0] !== "_normal_use")) width: childrenRect.width height: childrenRect.height - 20 diff --git a/Fk/Pages/RoomLogic.js b/Fk/Pages/RoomLogic.js index 49578158..e3334230 100644 --- a/Fk/Pages/RoomLogic.js +++ b/Fk/Pages/RoomLogic.js @@ -300,16 +300,13 @@ function doIndicate(from, tos) { } callbacks["MaxCard"] = function(jsonData) { - let data = JSON.parse(jsonData); let id = data.id; let cardMax = data.pcardMax; let photo = getPhoto(id); - if (!photo) { - return null; + if (photo) { + photo.maxCard = cardMax; } - photo.maxCard = cardMax; - } function changeSelf(id) { diff --git a/Fk/RoomElement/Photo.qml b/Fk/RoomElement/Photo.qml index 489a083f..c8792fab 100644 --- a/Fk/RoomElement/Photo.qml +++ b/Fk/RoomElement/Photo.qml @@ -31,7 +31,7 @@ Item { property bool isOwner: false property int distance: 0 property string status: "normal" - property int maxCard: 0 + property int maxCard: 0 property alias handcardArea: handcardAreaItem property alias equipArea: equipAreaItem @@ -352,9 +352,9 @@ Item { x: -6 Text { - text: root.maxCard==root.hp ? root.handcards : root.handcards + "/" +root.maxCard + text: (root.maxCard === root.hp) ? (root.handcards) : (root.handcards + "/" + root.maxCard) font.family: fontLibian.name - font.pixelSize: root.maxCard==root.hp ? 32 : 27 + font.pixelSize: root.maxCard === root.hp ? 32 : 27 //font.weight: 30 color: "white" anchors.horizontalCenter: parent.horizontalCenter diff --git a/lua/client/client.lua b/lua/client/client.lua index fa3bed9c..6341b1b1 100644 --- a/lua/client/client.lua +++ b/lua/client/client.lua @@ -77,7 +77,10 @@ function Client:moveCards(moves) for _, move in ipairs(moves) do if move.from and move.fromArea then local from = self:getPlayerById(move.from) - ClientInstance:notifyUI("MaxCard", json.encode{ pcardMax = from:getMaxCards(),id = move.from}) + self:notifyUI("MaxCard", json.encode{ + pcardMax = from:getMaxCards(), + id = move.from, + }) if from.id ~= Self.id and move.fromArea == Card.PlayerHand then for i = 1, #move.ids do table.remove(from.player_cards[Player.Hand]) @@ -93,6 +96,10 @@ function Client:moveCards(moves) if move.to and move.toArea then local ids = move.ids + self:notifyUI("MaxCard", json.encode{ + pcardMax = self:getPlayerById(move.to):getMaxCards(), + id = move.to, + }) if (move.to ~= Self.id and move.toArea == Card.PlayerHand) or table.contains(ids, -1) then ids = table.map(ids, function() return -1 end) end @@ -291,7 +298,10 @@ fk.client_callback["PropertyUpdate"] = function(jsonData) local id, name, value = data[1], data[2], data[3] ClientInstance:getPlayerById(id)[name] = value ClientInstance:notifyUI("PropertyUpdate", jsonData) - ClientInstance:notifyUI("MaxCard", json.encode{ pcardMax = ClientInstance:getPlayerById(data[1]):getMaxCards(), id = data[1]}) + ClientInstance:notifyUI("MaxCard", json.encode{ + pcardMax = ClientInstance:getPlayerById(id):getMaxCards(), + id = id, + }) end fk.client_callback["AskForCardChosen"] = function(jsonData)