feat: added fire input binding

This commit is contained in:
Sara 2024-03-20 09:45:24 +01:00
parent a7e14fb109
commit 3b8ce8ca53
2 changed files with 7 additions and 0 deletions

View file

@ -16,6 +16,7 @@ void TunnelsPlayer::_bind_methods() {
#define CLASSNAME TunnelsPlayer
GDFUNCTION_ARGS(horizontal_move_input, "event", "value");
GDFUNCTION_ARGS(vertical_move_input, "event", "value");
GDFUNCTION_ARGS(fire_pressed, "event", "value");
GDPROPERTY_HINTED(camera_rotation_ramp, Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Curve");
}
@ -94,6 +95,7 @@ void TunnelsPlayer::process_camera_rotation(double delta_time) {
void TunnelsPlayer::setup_player_input(PlayerInput *input) {
input->listen_to(PlayerInput::Listener("move_left", "move_right", this, "horizontal_move_input"));
input->listen_to(PlayerInput::Listener("move_forward", "move_backward", this, "vertical_move_input"));
input->listen_to(PlayerInput::Listener("fire", this, "fire_pressed"));
}
Node *TunnelsPlayer::to_node() {
@ -108,6 +110,10 @@ void TunnelsPlayer::vertical_move_input(Ref<InputEvent> event, float value) {
this->move_input.y = value;
}
void TunnelsPlayer::fire_pressed(Ref<InputEvent> event, float value) {
this->character->set_firing(value != 0);
}
void TunnelsPlayer::initialize_character() {
Ref<PackedScene> player_scene = ResourceLoader::get_singleton()->load("res://player_character.tscn");
// check if the player scene is a valid player character

View file

@ -34,6 +34,7 @@ public:
void horizontal_move_input(Ref<InputEvent> event, float value);
void vertical_move_input(Ref<InputEvent> event, float value);
void fire_pressed(Ref<InputEvent> event, float value);
void initialize_character();