feat: updated utils, all references to GameRoot are now GameRoot3D

This commit is contained in:
Sara 2024-05-06 11:03:54 +02:00
parent 5badb8a68f
commit 3863b622f5
6 changed files with 9 additions and 10 deletions

View file

@ -32,7 +32,7 @@ void CharacterActor::_enter_tree() { GDGAMEONLY();
this->health = this->get_node<Health>("Health"); this->health = this->get_node<Health>("Health");
this->primary_weapon_pool = this->get_node<ProjectilePool>("ProjectilePool"); this->primary_weapon_pool = this->get_node<ProjectilePool>("ProjectilePool");
this->planner = this->get_node<goap::Planner>("Planner"); this->planner = this->get_node<goap::Planner>("Planner");
Ref<TunnelsGameMode>(GameRoot::get_singleton()->get_game_mode())->register_player_character(this); Ref<TunnelsGameMode>(GameRoot3D::get_singleton()->get_game_mode())->register_player_character(this);
} }
void CharacterActor::_process(double delta_time) { GDGAMEONLY(); void CharacterActor::_process(double delta_time) { GDGAMEONLY();
@ -145,7 +145,7 @@ Vector3 CharacterActor::get_velocity_target() const {
} }
bool CharacterActor::get_is_near_player() const { bool CharacterActor::get_is_near_player() const {
return Ref<TunnelsGameMode>(GameRoot::get_singleton()->get_game_mode()) return Ref<TunnelsGameMode>(GameRoot3D::get_singleton()->get_game_mode())
->get_player_instance() ->get_player_instance()
->get_character() ->get_character()
->get_global_position().distance_to(this->get_global_position()) < 5.f; ->get_global_position().distance_to(this->get_global_position()) < 5.f;

View file

@ -38,7 +38,7 @@ Vector3 GlobalWorldState::get_player_position() const {
} }
CharacterActor *GlobalWorldState::get_player_character() const { CharacterActor *GlobalWorldState::get_player_character() const {
return Ref<TunnelsGameMode>(GameRoot::get_singleton()->get_game_mode())->get_player_instance()->get_character(); return Ref<TunnelsGameMode>(GameRoot3D::get_singleton()->get_game_mode())->get_player_instance()->get_character();
} }
Variant GlobalWorldState::get_world_property(StringName prop_key) { Variant GlobalWorldState::get_world_property(StringName prop_key) {

View file

@ -33,7 +33,6 @@ void initialize_gdextension_types(ModuleInitializationLevel p_level)
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
return; return;
} }
ClassDB::register_abstract_class<GameRoot>();
ClassDB::register_class<GameMode>(); ClassDB::register_class<GameMode>();
ClassDB::register_class<GameRoot3D>(); ClassDB::register_class<GameRoot3D>();
ClassDB::register_class<GameState>(); ClassDB::register_class<GameState>();

View file

@ -15,7 +15,7 @@ void TunnelsGameMode::_bind_methods() {
} }
void TunnelsGameMode::_begin() { void TunnelsGameMode::_begin() {
GameRoot::get_singleton()->connect("player_spawned", Callable(this, "on_player_spawned")); GameRoot3D::get_singleton()->connect("player_spawned", Callable(this, "on_player_spawned"));
} }
void TunnelsGameMode::on_player_spawned(Node *player) { void TunnelsGameMode::on_player_spawned(Node *player) {

View file

@ -38,7 +38,7 @@ void TunnelsPlayer::_ready() {
} }
void TunnelsPlayer::_exit_tree() { GDGAMEONLY(); void TunnelsPlayer::_exit_tree() { GDGAMEONLY();
GameRoot::get_singleton()->remove_player(this->get_player_id()); GameRoot3D::get_singleton()->remove_player(this->get_player_id());
} }
void TunnelsPlayer::_process(double delta_time) { GDGAMEONLY(); void TunnelsPlayer::_process(double delta_time) { GDGAMEONLY();
@ -161,7 +161,7 @@ void TunnelsPlayer::try_select_marker() {
UtilityFunctions::print("Hit: ", marker->get_path()); UtilityFunctions::print("Hit: ", marker->get_path());
// select a character to send orders to // select a character to send orders to
CharacterActor *target_character{nullptr}; CharacterActor *target_character{nullptr};
for(CharacterActor *loop_character : Ref<TunnelsGameMode>(GameRoot::get_singleton()->get_game_mode())->get_player_characters()) { for(CharacterActor *loop_character : Ref<TunnelsGameMode>(GameRoot3D::get_singleton()->get_game_mode())->get_player_characters()) {
if(loop_character != this->character) { if(loop_character != this->character) {
target_character = loop_character; target_character = loop_character;
break; break;
@ -200,12 +200,12 @@ void TunnelsPlayer::initialize_character() {
this->character = Object::cast_to<CharacterActor>(player_scene->instantiate()); this->character = Object::cast_to<CharacterActor>(player_scene->instantiate());
this->get_parent()->add_child(this->character); this->get_parent()->add_child(this->character);
this->character->set_global_transform(this->get_global_transform()); this->character->set_global_transform(this->get_global_transform());
Ref<TunnelsGameState> game_state = GameRoot::get_singleton()->get_game_state(); Ref<TunnelsGameState> game_state = GameRoot3D::get_singleton()->get_game_state();
Ref<CharacterData> character = game_state->get_characters()[0]; Ref<CharacterData> character = game_state->get_characters()[0];
this->character->set_character_data(game_state->get_characters()[0]); this->character->set_character_data(game_state->get_characters()[0]);
// disable navmesh navigation and start using player input // disable navmesh navigation and start using player input
this->character->set_manual_mode(true); this->character->set_manual_mode(true);
Ref<TunnelsGameMode>(GameRoot::get_singleton()->get_game_mode())->set_manual_character(this->character); Ref<TunnelsGameMode>(GameRoot3D::get_singleton()->get_game_mode())->set_manual_character(this->character);
} }
Vector3 TunnelsPlayer::get_world_move_input() const { Vector3 TunnelsPlayer::get_world_move_input() const {

@ -1 +1 @@
Subproject commit d81ad91a885a74338c02edf1d52a2fa5aa8746b6 Subproject commit 2344f3f2b653dbf6a6c57c2e18c43a1f2c813024