mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-30 20:13:31 +00:00
37 lines
1.1 KiB
C++
Executable File
37 lines
1.1 KiB
C++
Executable File
#ifndef NET_MINECRAFT_CLIENT_PLAYER_INPUT_MouseBuildInput_H__
|
|
#define NET_MINECRAFT_CLIENT_PLAYER_INPUT_MouseBuildInput_H__
|
|
|
|
#include "IBuildInput.h"
|
|
#include "../../../platform/input/Mouse.h"
|
|
|
|
/** A Mouse Build input */
|
|
class MouseBuildInput : public IBuildInput {
|
|
public:
|
|
MouseBuildInput()
|
|
: buildDelayTicks(10),
|
|
buildHoldTicks(0)
|
|
{}
|
|
|
|
virtual bool tickBuild(Player* p, BuildActionIntention* bai) {
|
|
if (Mouse::getButtonState(MouseAction::ACTION_LEFT) != 0) {
|
|
*bai = BuildActionIntention(BuildActionIntention::BAI_REMOVE | BuildActionIntention::BAI_ATTACK);
|
|
return true;
|
|
}
|
|
if (Mouse::getButtonState(MouseAction::ACTION_RIGHT) != 0) {
|
|
if (buildHoldTicks >= buildDelayTicks) buildHoldTicks = 0;
|
|
if (++buildHoldTicks == 1) {
|
|
*bai = BuildActionIntention(BuildActionIntention::BAI_BUILD | BuildActionIntention::BAI_INTERACT);
|
|
return true;
|
|
}
|
|
} else {
|
|
buildHoldTicks = 0;
|
|
}
|
|
return false;
|
|
}
|
|
private:
|
|
int buildHoldTicks;
|
|
int buildDelayTicks;
|
|
};
|
|
|
|
#endif /*NET_MINECRAFT_CLIENT_PLAYER_INPUT_MouseBuildInput_H__*/
|