Remove player name from resume list.
This commit is contained in:
parent
9726ae89be
commit
8bb1a70b18
@ -297,8 +297,12 @@ pub async fn thread_system(mut app:App, bus:Bus<protocol::QRPacket>)
|
||||
valid &= !request.is_live || (session.p_dawn.connections.len() > 0 && session.p_dusk.connections.len() > 0);
|
||||
|
||||
if valid {
|
||||
let is_player = user_id.is_some() && (session.p_dawn.user == user_id || session.p_dusk.user == user_id);
|
||||
let is_turn = is_player && ((session.p_dawn.user == user_id && (session.game.turn & 1) == 0) || ((session.p_dusk.user == user_id && (session.game.turn & 1) == 1)));
|
||||
let player :u8 = if user_id.is_some() {
|
||||
if session.p_dawn.user == user_id { 1 }
|
||||
else if session.p_dusk.user == user_id { 2 }
|
||||
else { 0 }
|
||||
} else { 0 };
|
||||
let is_turn = player != 0 && (session.game.turn & 1) == player as u16 - 1;
|
||||
|
||||
let dawn_handle = if let Some(uid) = session.p_dawn.user {
|
||||
if let Some(user) = app.get_user_by_id(uid) {
|
||||
@ -321,7 +325,7 @@ pub async fn thread_system(mut app:App, bus:Bus<protocol::QRPacket>)
|
||||
turn:session.game.turn,
|
||||
last_move:[0; 3],
|
||||
viewers:session.connections.len() as u32,
|
||||
is_player,
|
||||
player,
|
||||
is_turn,
|
||||
});
|
||||
|
||||
|
@ -59,7 +59,7 @@ pub struct PacketSessionListResponseRecord {
|
||||
pub turn:u16,
|
||||
pub last_move:[u8; 3],
|
||||
pub viewers:u32,
|
||||
pub is_player:bool,
|
||||
pub player:u8,
|
||||
pub is_turn:bool,
|
||||
}
|
||||
|
||||
@ -86,8 +86,8 @@ impl Packet for PacketSessionListResponse {
|
||||
let mut chunk = record.token.to_vec();
|
||||
|
||||
let mut flags = 0u32;
|
||||
flags |= record.is_player as u32;
|
||||
flags |= (record.is_turn as u32) << 1;
|
||||
flags |= record.player as u32;
|
||||
flags |= (record.is_turn as u32) << 2;
|
||||
|
||||
// Flags
|
||||
chunk.append(&mut pack_u32(flags));
|
||||
|
@ -138,7 +138,7 @@ function MESSAGE(event) {
|
||||
turn: 0,
|
||||
move: "",
|
||||
viewers: 0,
|
||||
is_player: false,
|
||||
player: false,
|
||||
is_turn: false,
|
||||
};
|
||||
|
||||
@ -155,8 +155,8 @@ function MESSAGE(event) {
|
||||
index = result.index;
|
||||
let flags = result.data;
|
||||
|
||||
record.is_player = (flags & 1) != 0;
|
||||
record.is_turn = ((flags >> 1) & 1) != 0;
|
||||
record.player = flags & 3;
|
||||
record.is_turn = ((flags >> 2) & 1) != 0;
|
||||
|
||||
// Dawn handle
|
||||
result = UNPACK.string(bytes, index);
|
||||
|
54
www/js/ui.js
54
www/js/ui.js
@ -191,7 +191,7 @@ const UI = {
|
||||
};
|
||||
spectate_callback = spectate_callback.bind({token: records[r].token});
|
||||
|
||||
if(records[r].is_player) {
|
||||
if(records[r].player != 0) {
|
||||
let button_resume = UI.button(LANG("resume"), join_callback);
|
||||
if(records[r].is_turn) {
|
||||
button_resume.setAttribute("class", "highlight");
|
||||
@ -223,6 +223,58 @@ const UI = {
|
||||
return tbody;
|
||||
},
|
||||
|
||||
session_table_resume(records) {
|
||||
let rows = [ ];
|
||||
|
||||
for(let r = 0; r < records.length; ++r) {
|
||||
let buttons = [ ];
|
||||
let join_callback = function() {
|
||||
SCENE_FORWARD = SCENE;
|
||||
LOAD(SCENES.Game, {
|
||||
token:this.token,
|
||||
mode:INTERFACE.Mode.Player,
|
||||
});
|
||||
MESSAGE_SESSION_VIEW(this.token, true);
|
||||
};
|
||||
join_callback = join_callback.bind({token: records[r].token});
|
||||
|
||||
let spectate_callback = function() {
|
||||
SCENE_FORWARD = SCENE;
|
||||
LOAD(SCENES.Game, {
|
||||
token:this.token,
|
||||
mode:INTERFACE.Mode.Review,
|
||||
});
|
||||
MESSAGE_SESSION_VIEW(this.token, false);
|
||||
};
|
||||
spectate_callback = spectate_callback.bind({token: records[r].token});
|
||||
|
||||
let button_resume = UI.button(LANG("resume"), join_callback);
|
||||
if(records[r].is_turn) {
|
||||
button_resume.setAttribute("class", "highlight");
|
||||
}
|
||||
|
||||
buttons.push(button_resume);
|
||||
buttons.push(UI.button(LANG("review"), spectate_callback));
|
||||
|
||||
let handle = records[r].dawn;
|
||||
if(records[r].player == 1) { handle = records[r].dusk; }
|
||||
|
||||
rows.push([
|
||||
handle,
|
||||
UI.text(records[r].turn),
|
||||
UI.text(records[r].viewers),
|
||||
buttons,
|
||||
]);
|
||||
}
|
||||
|
||||
let tbody = UI.table_content(
|
||||
[ LANG("handle"), LANG("turn"), LANG("viewers"), "" ],
|
||||
rows,
|
||||
);
|
||||
|
||||
return tbody;
|
||||
},
|
||||
|
||||
/*session_table_join(records) {
|
||||
let rows = [ ];
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user