mark card in UI

This commit is contained in:
Ho-spair 2023-11-25 18:18:40 +08:00
parent 94b7493e2e
commit b56cb08954
2 changed files with 38 additions and 5 deletions

View File

@ -471,6 +471,33 @@ Item {
}
}
Rectangle {
id: markCardBoard
anchors.top: dashboard.top
anchors.left: dashboardBtn.right
visible: false
color: "black"
width: markCardItem.width + 20
height: markCardItem.height + 20
radius: 5
PicMarkArea {
id: markCardItem
anchors.centerIn: markCardBoard
}
TapHandler {
id: mouse
onTapped: markCardBoard.clicked()
}
onClicked: {
}
}
Dashboard {
id: dashboard
width: roomScene.width - dashboardBtn.width

View File

@ -790,7 +790,7 @@ callbacks["PropertyUpdate"] = (jsonData) => {
model[property_name] = value;
}
if (property_name === "phase") {
if (prdashboardoperty_name === "phase") {
let item = getPhoto(uid);
item.playing = value < 8; // Player.NotActive
}
@ -1372,14 +1372,20 @@ callbacks["WaitForNullification"] = () => {
callbacks["SetPlayerMark"] = (jsonData) => {
const data = JSON.parse(jsonData);
const player = getPhoto(data[0]);
const mark = data[1];
const value = data[2] instanceof Object ? data[2] : data[2].toString();
let area = mark.startsWith("@!") ? player.picMarkArea : player.markArea;
const mark = data[1].startsWith('@#') ? data[1].replace('@#', '@!') : data[1];
const value = data[2] instanceof Array ? data[2] : data[2].toString();
let area = (data[1].startsWith("@!") || data[1].startsWith("@#")) ? player.picMarkArea : player.markArea;
if (data[2] === 0) {
area.removeMark(mark);
} else {
area.setMark(mark, mark.startsWith("@@") ? "" : value);
if (data[1].startsWith("@#") && data[0] === Self.id) {
markCardItem.setMark(mark, value);
} else {
area.setMark(mark, mark.startsWith("@@") ? "" : value);
}
}
markCardBoard.visible = markCardItem.data.length > 0;
}
callbacks["SetBanner"] = (jsonData) => {