Added bindings for mouse clicks, fixed lights

This commit is contained in:
MihailRis
2023-11-22 21:15:12 +03:00
parent b472626d8d
commit b6a8358e9e
5 changed files with 13 additions and 7 deletions
+3
View File
@@ -16,6 +16,9 @@
#define BIND_CAM_ZOOM "camera.zoom"
#define BIND_PLAYER_NOCLIP "player.noclip"
#define BIND_PLAYER_FLIGHT "player.flight"
#define BIND_PLAYER_ATTACK "player.attack"
#define BIND_PLAYER_BUILD "player.build"
#define BIND_PLAYER_PICK "player.pick"
#define BIND_HUD_INVENTORY "hud.inventory"
#endif // SRC_CORE_DEFS_H_
+3
View File
@@ -103,5 +103,8 @@ void setup_bindings() {
Events::bind(BIND_CAM_ZOOM, inputtype::keyboard, keycode::C);
Events::bind(BIND_PLAYER_NOCLIP, inputtype::keyboard, keycode::N);
Events::bind(BIND_PLAYER_FLIGHT, inputtype::keyboard, keycode::F);
Events::bind(BIND_PLAYER_ATTACK, inputtype::mouse, mousecode::BUTTON_1);
Events::bind(BIND_PLAYER_BUILD, inputtype::mouse, mousecode::BUTTON_2);
Events::bind(BIND_PLAYER_PICK, inputtype::mouse, mousecode::BUTTON_3);
Events::bind(BIND_HUD_INVENTORY, inputtype::keyboard, keycode::TAB);
}
+1 -1
View File
@@ -170,7 +170,7 @@ Panel* create_controls_panel(Engine* engine, PagesControl* menu) {
for (auto& entry : Events::bindings){
string bindname = entry.first;
Panel* subpanel = new Panel(vec2(400, 45), vec4(5.0f), 1.0f);
Panel* subpanel = new Panel(vec2(400, 40), vec4(5.0f), 1.0f);
subpanel->color(vec4(0.0f));
subpanel->orientation(Orientation::horizontal);
+5 -5
View File
@@ -221,10 +221,10 @@ void PlayerController::updateInteraction(){
vec3 norm;
bool xkey = Events::pressed(keycode::X);
bool lclick = Events::jclicked(mousecode::BUTTON_1) ||
(xkey && Events::clicked(mousecode::BUTTON_1));
bool rclick = Events::jclicked(mousecode::BUTTON_2) ||
(xkey && Events::clicked(mousecode::BUTTON_2));
bool lclick = Events::jactive(BIND_PLAYER_ATTACK) ||
(xkey && Events::active(BIND_PLAYER_ATTACK));
bool rclick = Events::jactive(BIND_PLAYER_BUILD) ||
(xkey && Events::active(BIND_PLAYER_BUILD));
float maxDistance = 10.0f;
if (xkey) {
maxDistance *= 20.0f;
@@ -270,7 +270,7 @@ void PlayerController::updateInteraction(){
lighting->onBlockSet(x,y,z, player->choosenBlock);
}
}
if (Events::jclicked(mousecode::BUTTON_3)){
if (Events::jactive(BIND_PLAYER_PICK)){
player->choosenBlock = chunks->get(x,y,z)->id;
}
} else {