aboutsummaryrefslogtreecommitdiff
path: root/server/src/server.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-08-26 23:05:03 +0200
committermetamuffin <metamuffin@disroot.org>2025-08-26 23:05:13 +0200
commit47176814bc3137bc5aa09d28bc4f5aa6b6e5d65e (patch)
tree2b840aa2118c725f5ef953e312be9823cf9f53aa /server/src/server.rs
parent34285add925cee5c3b27af7238ed52f61f376ef9 (diff)
downloadhurrycurry-47176814bc3137bc5aa09d28bc4f5aa6b6e5d65e.tar
hurrycurry-47176814bc3137bc5aa09d28bc4f5aa6b6e5d65e.tar.bz2
hurrycurry-47176814bc3137bc5aa09d28bc4f5aa6b6e5d65e.tar.zst
server: annouce start feature, entity constructors, pause timer
Diffstat (limited to 'server/src/server.rs')
-rw-r--r--server/src/server.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/server/src/server.rs b/server/src/server.rs
index 8d04cf57..2fe0be17 100644
--- a/server/src/server.rs
+++ b/server/src/server.rs
@@ -44,6 +44,7 @@ pub struct Server {
pub tx: Sender<PacketC>,
pub connections: HashMap<ConnectionID, (HashSet<PlayerID>, bool)>,
pub paused: bool,
+ pub start_pause_timer: f32,
pub game: Game,
@@ -320,6 +321,7 @@ impl Server {
.await
.context("Failed to load data index")?,
tx,
+ start_pause_timer: 0.,
packet_out: VecDeque::new(),
connections: HashMap::new(),
data: Serverdata::default().into(),
@@ -367,6 +369,19 @@ impl Server {
self.gamedata_index.update(&self.game.data);
self.data = serverdata.into();
self.entities = entities;
+ for e in &mut self.entities {
+ e.constructor(EntityContext {
+ game: &mut self.game,
+ packet_out: &mut self.packet_out,
+ packet_in: &mut self.packet_loopback,
+ score_changed: &mut self.score_changed,
+ load_map: &mut None,
+ serverdata: &self.data,
+ scoreboard: &self.scoreboard,
+ replies: None,
+ dt: 0.,
+ });
+ }
}
pub fn packet_in(