~starkingdoms/starkingdoms

ref: daf8de5d783872d9f6af89febbe1a5117da3ba5c starkingdoms/crates/unified/src/shared/network/mod.rs -rw-r--r-- 701 bytes
daf8de5dghostly_zsh ship editor feat: spawn hearty & eventually other parts 17 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use bevy::app::FixedPreUpdate;
use bevy::prelude::Resource;
use crate::prelude::{App, Component, Query, ResMut};
use bevy_replicon::shared::replication::Replicated;

#[derive(Resource)]
pub struct Tick(pub u64);
#[derive(Component, Default)]
pub struct ServerTick(pub u64);

#[derive(Component, Default)]
#[require(Replicated, ServerTick)]
pub struct ReplicateAndInterpolate;


pub fn tick_update_plugin(app: &mut App) {
    app
        .insert_resource(Tick(0))
        .add_systems(FixedPreUpdate, tick);
}

fn tick(mut tick_counter: ResMut<Tick>, mut entities: Query<&mut ServerTick>) {
    tick_counter.0 += 1;
    for mut entity in entities.iter_mut() {
        entity.0 = tick_counter.0;
    }
}