mirror of
https://github.com/zoriya/Bomberman.git
synced 2025-12-20 05:15:10 +00:00
Allowing players to join the lobby
This commit is contained in:
@@ -3,25 +3,44 @@
|
||||
// Edited by Benjamin Henry on 2021-05-20.
|
||||
//
|
||||
|
||||
#include <Component/Controllable/ControllableComponent.hpp>
|
||||
#include "KeyboardComponent.hpp"
|
||||
|
||||
namespace BBM
|
||||
{
|
||||
KeyboardComponent::KeyboardComponent(WAL::Entity &entity,
|
||||
Key up,
|
||||
Key down,
|
||||
Key left,
|
||||
Key right,
|
||||
Key jump,
|
||||
Key bomb,
|
||||
Key pause)
|
||||
: WAL::Component(entity), keyJump(jump), keyBomb(bomb), keyPause(pause),
|
||||
keyRight(right), keyLeft(left), keyUp(up), keyDown(down)
|
||||
{}
|
||||
KeyboardComponent::KeyboardComponent(WAL::Entity &entity, ControllableComponent::Layout layout)
|
||||
: WAL::Component(entity), layout(layout)
|
||||
{
|
||||
if (layout == ControllableComponent::KEYBOARD_0) {
|
||||
this->keyUp = KEY_W;
|
||||
this->keyDown = KEY_S;
|
||||
this->keyLeft = KEY_A;
|
||||
this->keyRight = KEY_D;
|
||||
this->keyJump = KEY_SPACE;
|
||||
this->keyBomb = KEY_E;
|
||||
this->keyPause = KEY_ESCAPE;
|
||||
} else {
|
||||
this->keyUp = KEY_UP;
|
||||
this->keyDown = KEY_DOWN;
|
||||
this->keyLeft = KEY_LEFT;
|
||||
this->keyRight = KEY_RIGHT;
|
||||
this->keyJump = KEY_RIGHT_CONTROL;
|
||||
this->keyBomb = KEY_ENTER;
|
||||
this->keyPause = KEY_BACKSPACE;
|
||||
}
|
||||
}
|
||||
|
||||
WAL::Component *KeyboardComponent::clone(WAL::Entity &entity) const
|
||||
{
|
||||
return new KeyboardComponent(entity);
|
||||
return new KeyboardComponent(entity, this->layout);
|
||||
}
|
||||
|
||||
void KeyboardComponent::onStart()
|
||||
{
|
||||
auto *controller = this->_entity.tryGetComponent<ControllableComponent>();
|
||||
if (!controller)
|
||||
return;
|
||||
controller->layout = this->layout;
|
||||
}
|
||||
|
||||
} // namespace BMM
|
||||
|
||||
Reference in New Issue
Block a user