chore: impl methods for PlayerUID
This commit is contained in:
parent
7ef2b76a32
commit
c59fe85e67
5 changed files with 31 additions and 14 deletions
|
@ -59,7 +59,7 @@ where
|
|||
pub async fn send_changes(&mut self, session: &NetworkSession) -> Result<&T> {
|
||||
if self.player_info_changes.is_some() {
|
||||
let ptc_player_info_changed = PtcPlayerInfoChangedArg {
|
||||
player_uid: session.player_uid().0,
|
||||
player_uid: session.player_uid().raw(),
|
||||
player_info: self.player_info_changes.take().unwrap(),
|
||||
};
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ pub async fn on_rpc_hollow_move(
|
|||
}
|
||||
|
||||
let pos = PtcPositionInHollowChangedArg {
|
||||
player_uid: session.player_uid().0,
|
||||
player_uid: session.player_uid().raw(),
|
||||
hollow_level: arg.hollow_level,
|
||||
position: destination_pos,
|
||||
};
|
||||
|
@ -58,7 +58,7 @@ pub async fn on_rpc_end_battle(
|
|||
) -> Result<RpcEndBattleRet> {
|
||||
tracing::info!("RpcEndBattle: {:?}", &arg);
|
||||
|
||||
let player_uid = session.player_uid().0;
|
||||
let player_uid = session.player_uid().raw();
|
||||
let (sync_event, hollow_finished) = session.context.hollow_grid_manager.battle_finished().await;
|
||||
|
||||
if !hollow_finished {
|
||||
|
@ -219,7 +219,7 @@ pub async fn on_rpc_run_hollow_event_graph(
|
|||
.await?;
|
||||
|
||||
let ptc_dungeon_quest_finished = PtcDungeonQuestFinishedArg {
|
||||
player_uid: session.player_uid().0,
|
||||
player_uid: session.player_uid().raw(),
|
||||
quest_id: 1001000101,
|
||||
success: true,
|
||||
reward_items: phashmap![],
|
||||
|
@ -249,7 +249,7 @@ pub async fn on_rpc_run_hollow_event_graph(
|
|||
.await?;
|
||||
|
||||
let ptc_position_in_hollow_changed = PtcPositionInHollowChangedArg {
|
||||
player_uid: session.player_uid().0,
|
||||
player_uid: session.player_uid().raw(),
|
||||
hollow_level: 1,
|
||||
position: session
|
||||
.context
|
||||
|
@ -371,13 +371,13 @@ pub async fn on_rpc_start_hollow_quest(
|
|||
&session
|
||||
.context
|
||||
.hollow_grid_manager
|
||||
.sync_hollow_maps(session.player_uid().0, scene_uid)
|
||||
.sync_hollow_maps(session.player_uid().raw(), scene_uid)
|
||||
.await,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let ptc_position_in_hollow_changed = PtcPositionInHollowChangedArg {
|
||||
player_uid: session.player_uid().0,
|
||||
player_uid: session.player_uid().raw(),
|
||||
hollow_level: 1,
|
||||
position: session
|
||||
.context
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
||||
use super::*;
|
||||
use crate::{game::util, net::session::AccountUID};
|
||||
use crate::{
|
||||
game::util,
|
||||
net::session::{AccountUID, PlayerUID},
|
||||
};
|
||||
|
||||
const DEFAULT_ACCOUNT_ID: u64 = 1;
|
||||
|
||||
|
@ -35,9 +38,9 @@ pub async fn on_rpc_create_player(
|
|||
.players
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.len() as u64;
|
||||
.len();
|
||||
|
||||
let player_uid = account_uid.0 * 100 + player_count + 1;
|
||||
let player_uid = PlayerUID::new(account_uid, player_count + 1);
|
||||
session
|
||||
.ns_prop_mgr
|
||||
.account_info
|
||||
|
@ -46,9 +49,9 @@ pub async fn on_rpc_create_player(
|
|||
.players
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.push(player_uid);
|
||||
.push(player_uid.raw());
|
||||
|
||||
Ok(RpcCreatePlayerRet::new(player_uid))
|
||||
Ok(RpcCreatePlayerRet::new(player_uid.raw()))
|
||||
}
|
||||
|
||||
pub async fn on_ptc_get_server_timestamp(
|
||||
|
|
|
@ -254,7 +254,7 @@ pub async fn on_rpc_enter_world(
|
|||
|
||||
let player_uid = *account.players.as_ref().unwrap().first().unwrap(); // get first id from list
|
||||
session
|
||||
.set_cur_player(PlayerUID(player_uid), create_player(player_uid))
|
||||
.set_cur_player(PlayerUID::from(player_uid), create_player(player_uid))
|
||||
.await?;
|
||||
|
||||
let item_manager = &session.context.item_manager;
|
||||
|
|
|
@ -17,7 +17,21 @@ use super::{Packet, RequestBody, ResponseBody};
|
|||
pub struct AccountUID(pub u64);
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub struct PlayerUID(pub u64);
|
||||
pub struct PlayerUID(u64);
|
||||
|
||||
impl PlayerUID {
|
||||
pub const fn new(account_uid: AccountUID, index: usize) -> Self {
|
||||
Self(account_uid.0 * 100 + index as u64)
|
||||
}
|
||||
|
||||
pub const fn from(raw: u64) -> Self {
|
||||
Self(raw)
|
||||
}
|
||||
|
||||
pub const fn raw(&self) -> u64 {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
|
||||
pub struct NetworkSession {
|
||||
client_socket: Arc<Mutex<TcpStream>>,
|
||||
|
|
Loading…
Reference in a new issue