12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #include "server/Game.h"
- #include "commands/Commands.h"
- #include "common/network/toclient/EntityUpdatePacket.h"
- #include "memory/UniquePointer.h"
- #include "raw-terminal/RawReader.h"
- #include "server/GameServer.h"
- #include "server/packets/WorldPackets.h"
- #include "utils/List.h"
- #include "utils/Logger.h"
- static bool running = true;
- static RawReader<256, 10> reader{0, "> "};
- Clock Game::ticksPerSecond;
- World Game::world;
- void Game::stop() {
- running = false;
- }
- bool Game::isRunning() {
- return running;
- }
- void Game::init() {
- Block::init();
- }
- static void handleCommands() {
- if(!reader.canRead()) {
- return;
- }
- const char* s = reader.readLine();
- if(s == nullptr) {
- return;
- }
- Commands::Raw raw(s);
- Commands::execute(raw);
- }
- void Game::tick() {
- ticksPerSecond.update();
- world.tick();
- handleCommands();
- }
- void Game::addPlayer(ServerPlayer& p) {
- LOG_INFO("player add");
- for(int x = -1; x <= 1; x++) {
- for(int z = -1; z <= 1; z++) {
- WorldPackets::sendChunk(p, world, x, z);
- }
- }
- p.setPosition(Vector3(0.0f, 32.0f, 0.0f));
- world.addEntity(&p);
- }
- void Game::removePlayer(ServerPlayer& p) {
- LOG_INFO("player remove");
- world.removeEntity(&p);
- }
|