#ifndef GAME_SESSION_H
#define GAME_SESSION_H

#include <stdint.h>
#include <stdbool.h>

#include "simulation/simulation_world.h"

typedef struct {
    uint32_t seed;

    uint16_t level_width;
    uint16_t level_height;

    uint8_t max_players;

    // ..
} Game_Session_Settings;

typedef struct {
    bool is_singleplayer;
    bool is_host;

    Game_Session_Settings settings;

    // TODO: SS - Game-state (counting down, active, over)
    // TODO: SS - Local(?) input-queue.
    Simulation_World simulation_world;
} Game_Session;

extern Game_Session *g_current_session;

void game_session_create(bool is_singleplayer, bool is_host, Game_Session_Settings settings);
void game_session_destroy();

void game_session_init_default_settings(bool is_singleplayer, Game_Session_Settings *out_settings);

#endif