Skip to content

Commit

Permalink
fix bombs exploading instantly sometimes
Browse files Browse the repository at this point in the history
  • Loading branch information
bgkillas committed Feb 6, 2025
1 parent 150928f commit 946070b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
10 changes: 6 additions & 4 deletions ewext/src/modules/entity_sync.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,10 +251,12 @@ impl EntitySync {
.interest_tracker
.handle_interest_request(source, interest_request),
RemoteDes::EntityUpdate(vec) => {
self.remote_models
.entry(source)
.or_insert(RemoteDiffModel::new(source))
.apply_diff(&vec);
self.dont_kill.extend(
self.remote_models
.entry(source)
.or_insert(RemoteDiffModel::new(source))
.apply_diff(&vec),
);
}
RemoteDes::ExitedInterest => {
self.remote_models.remove(&source);
Expand Down
5 changes: 4 additions & 1 deletion ewext/src/modules/entity_sync/diff_model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1011,10 +1011,11 @@ impl RemoteDiffModel {
pub(crate) fn wait_for_gid(&mut self, entity: EntityID, gid: Gid) {
self.waiting_for_lid.insert(gid, entity);
}
pub(crate) fn apply_diff(&mut self, diff: &[EntityUpdate]) {
pub(crate) fn apply_diff(&mut self, diff: &[EntityUpdate]) -> Vec<EntityID> {
let mut current_lid = Lid(0);
let empty_data = &mut EntityInfo::default();
let mut ent_data = &mut EntityInfo::default();
let mut dont_kill = Vec::new();
for entry in diff.iter().cloned() {
match entry {
EntityUpdate::CurrentEntity(lid) => {
Expand All @@ -1028,6 +1029,7 @@ impl RemoteDiffModel {
if let Some(ent) = self.waiting_for_lid.remove(&gid) {
self.tracked.insert(current_lid, ent);
let _ = init_remote_entity(ent, Some(current_lid), Some(gid), false);
dont_kill.push(ent);
}
self.lid_to_gid.insert(current_lid, gid);
self.entity_infos.insert(current_lid, *entity_entry);
Expand Down Expand Up @@ -1080,6 +1082,7 @@ impl RemoteDiffModel {
_ => {}
}
}
dont_kill
}

pub(crate) fn apply_entities(&mut self, ctx: &mut ModuleCtx) -> eyre::Result<()> {
Expand Down

0 comments on commit 946070b

Please sign in to comment.