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);
|
valid &= !request.is_live || (session.p_dawn.connections.len() > 0 && session.p_dusk.connections.len() > 0);
|
||||||
|
|
||||||
if valid {
|
if valid {
|
||||||
let is_player = user_id.is_some() && (session.p_dawn.user == user_id || session.p_dusk.user == user_id);
|
let player :u8 = if user_id.is_some() {
|
||||||
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)));
|
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 {
|
let dawn_handle = if let Some(uid) = session.p_dawn.user {
|
||||||
if let Some(user) = app.get_user_by_id(uid) {
|
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,
|
turn:session.game.turn,
|
||||||
last_move:[0; 3],
|
last_move:[0; 3],
|
||||||
viewers:session.connections.len() as u32,
|
viewers:session.connections.len() as u32,
|
||||||
is_player,
|
player,
|
||||||
is_turn,
|
is_turn,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ pub struct PacketSessionListResponseRecord {
|
|||||||
pub turn:u16,
|
pub turn:u16,
|
||||||
pub last_move:[u8; 3],
|
pub last_move:[u8; 3],
|
||||||
pub viewers:u32,
|
pub viewers:u32,
|
||||||
pub is_player:bool,
|
pub player:u8,
|
||||||
pub is_turn:bool,
|
pub is_turn:bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,8 +86,8 @@ impl Packet for PacketSessionListResponse {
|
|||||||
let mut chunk = record.token.to_vec();
|
let mut chunk = record.token.to_vec();
|
||||||
|
|
||||||
let mut flags = 0u32;
|
let mut flags = 0u32;
|
||||||
flags |= record.is_player as u32;
|
flags |= record.player as u32;
|
||||||
flags |= (record.is_turn as u32) << 1;
|
flags |= (record.is_turn as u32) << 2;
|
||||||
|
|
||||||
// Flags
|
// Flags
|
||||||
chunk.append(&mut pack_u32(flags));
|
chunk.append(&mut pack_u32(flags));
|
||||||
|
@ -138,7 +138,7 @@ function MESSAGE(event) {
|
|||||||
turn: 0,
|
turn: 0,
|
||||||
move: "",
|
move: "",
|
||||||
viewers: 0,
|
viewers: 0,
|
||||||
is_player: false,
|
player: false,
|
||||||
is_turn: false,
|
is_turn: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -155,8 +155,8 @@ function MESSAGE(event) {
|
|||||||
index = result.index;
|
index = result.index;
|
||||||
let flags = result.data;
|
let flags = result.data;
|
||||||
|
|
||||||
record.is_player = (flags & 1) != 0;
|
record.player = flags & 3;
|
||||||
record.is_turn = ((flags >> 1) & 1) != 0;
|
record.is_turn = ((flags >> 2) & 1) != 0;
|
||||||
|
|
||||||
// Dawn handle
|
// Dawn handle
|
||||||
result = UNPACK.string(bytes, index);
|
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});
|
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);
|
let button_resume = UI.button(LANG("resume"), join_callback);
|
||||||
if(records[r].is_turn) {
|
if(records[r].is_turn) {
|
||||||
button_resume.setAttribute("class", "highlight");
|
button_resume.setAttribute("class", "highlight");
|
||||||
@ -223,6 +223,58 @@ const UI = {
|
|||||||
return tbody;
|
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) {
|
/*session_table_join(records) {
|
||||||
let rows = [ ];
|
let rows = [ ];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user