]> git.localhorst.tv Git - blank.git/blobdiff - src/app/ServerState.cpp
send entity visual from server to client
[blank.git] / src / app / ServerState.cpp
index d26f552551fd258e13b5257469573a95c175d761..0be565307308ce330b9a38d793b2be1a5496dc3b 100644 (file)
@@ -11,16 +11,25 @@ namespace blank {
 
 ServerState::ServerState(
        HeadlessEnvironment &env,
+       const Generator::Config &gc,
        const World::Config &wc,
        const WorldSave &ws,
        const Server::Config &sc
 )
 : env(env)
 , block_types()
-, world(block_types, wc, ws)
-, server(sc, world) {
+, world(block_types, wc)
+, generator(gc)
+, chunk_loader(world.Chunks(), generator, ws)
+, skeletons()
+, spawner(world, skeletons, gc.seed)
+, server(sc, world)
+, push_timer(16) {
        TextureIndex tex_index;
        env.loader.LoadBlockTypes("default", block_types, tex_index);
+       skeletons.LoadHeadless();
+
+       push_timer.Start();
 
        std::cout << "listening on UDP port " << sc.port << std::endl;
 }
@@ -34,8 +43,14 @@ void ServerState::Handle(const SDL_Event &event) {
 
 
 void ServerState::Update(int dt) {
+       push_timer.Update(dt);
        server.Handle();
-       server.Update(dt);
+       spawner.Update(dt);
+       world.Update(dt);
+       chunk_loader.Update(dt);
+       if (push_timer.Hit()) {
+               server.Update(dt);
+       }
 }