(wip) figure out why on_connect can't find player in logged_out table
This commit is contained in:
parent
093af571d2
commit
e2d554f321
1 changed files with 9 additions and 4 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#![feature(if_let_guard)]
|
||||
|
||||
use log::debug;
|
||||
use log::{debug, trace};
|
||||
use spacetimedb::{ReducerContext, Table, reducer};
|
||||
|
||||
use crate::tables::*;
|
||||
|
|
@ -34,6 +34,7 @@ pub fn connect(ctx: &ReducerContext) -> Result<(), String> {
|
|||
ctx.db.logged_out_player().identity().delete(ctx.sender);
|
||||
player
|
||||
} else {
|
||||
debug!("inserting new player with identity {:?}", ctx.sender);
|
||||
ctx.db.player().try_insert(Player {
|
||||
identity: ctx.sender,
|
||||
id: 0,
|
||||
|
|
@ -56,10 +57,14 @@ pub fn disconnect(ctx: &ReducerContext) -> Result<(), String> {
|
|||
.player()
|
||||
.identity()
|
||||
.find(ctx.sender)
|
||||
.ok_or_else(|| format!("can't find player {}", ctx.sender))?;
|
||||
.ok_or_else(|| format!("can't find player {} to disconnect", ctx.sender))?;
|
||||
|
||||
ctx.db.logged_out_player().insert(player);
|
||||
ctx.db.player().identity().delete(ctx.sender);
|
||||
let player = ctx.db.logged_out_player().insert(player);
|
||||
if !ctx.db.player().identity().delete(ctx.sender) {
|
||||
Err("can't delete row")?
|
||||
}
|
||||
|
||||
debug!("player disconnected: {:?}", player);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue