begin network

This commit is contained in:
2024-08-16 19:00:45 +02:00
parent 2a5e53c188
commit 03e39a2283
18 changed files with 305 additions and 77 deletions

40
src/Main.cpp Normal file
View File

@@ -0,0 +1,40 @@
#include "Main.h"
#include <godot_cpp/classes/scene_tree.hpp>
#include <godot_cpp/classes/window.hpp>
#include <godot_cpp/classes/packed_scene.hpp>
#include <godot_cpp/classes/resource_loader.hpp>
#include <godot_cpp/classes/engine.hpp>
#include <godot_cpp/variant/utility_functions.hpp>
#include "Lobby.h"
#include "World.h"
using namespace godot;
namespace blitz {
static constexpr char MainScenePath[] = "res://Scenes/Levels/world.tscn";
void Main::_bind_methods() {
godot::ClassDB::bind_method(godot::D_METHOD("change_scene"), &Main::ChangeScene);
}
Main::Main() {}
Main::~Main() {}
void Main::ChangeScene() {
Ref<PackedScene> sceneData = ResourceLoader::get_singleton()->load(MainScenePath);
World* world = Object::cast_to<World>(sceneData->instantiate());
get_parent()->add_child(world);
Lobby* lobby = Object::cast_to<Lobby>(find_child("Lobby"));
DEV_ASSERT(lobby);
// connect signals
lobby->connect("player_connected", callable_mp(world, &World::AddPlayer));
lobby->connect("player_disconnected", callable_mp(world, &World::RemovePlayer));
}
} // namespace blitz