1
0
Fork 0

Adding Event example

This commit is contained in:
Henrik Hautakoski 2020-10-14 13:20:55 +02:00
parent ec8eb971a5
commit 49f42e98f4
5 changed files with 70 additions and 1 deletions

View file

@ -23,7 +23,8 @@ end
assets = CopyDir(PathJoin(paths.build, paths.examples), "assets")
examples = BuildExamples(example_settings, {
"text"
"text",
"events"
}, assets)
PseudoTarget("examples", examples)

View file

@ -0,0 +1,28 @@
#include <Spectre/System/MessageHandler.h>
#include <Spectre/System/Log.h>
#include "EventsExample.h"
void EventsExample::init()
{
getMessageHandler()->registerListener(this);
}
void EventsExample::onEvent(const sp::Event& event)
{
if (event.type == sp::Event::Key) {
const char* name = event.key.getKeyName().c_str();
const char* pressed = event.key.pressed ? "pressed" : "released";
sp::Log::info("Key: %s %s", name, pressed);
}
}
void EventsExample::update(double dt)
{
// Nothing to do
}
void EventsExample::render()
{
// Nothing to do
}

View file

@ -0,0 +1,22 @@
#ifndef EVENTS_EXAMPLE_H
#define EVENTS_EXAMPLE_H
#include <Spectre/Game.h>
#include <Spectre/System/EventListener.h>
class EventsExample : public sp::Game, sp::EventListener
{
public :
void onEvent(const sp::Event& event);
protected :
void init();
void update(double dt);
void render();
};
#endif /* EVENTS_EXAMPLE_H */

7
examples/events/bam.lua Normal file
View file

@ -0,0 +1,7 @@
local base = PathDir(ModuleFilename())
src ={
base .. "/main.cpp",
base .. "/EventsExample.cpp"
}

11
examples/events/main.cpp Normal file
View file

@ -0,0 +1,11 @@
#include "EventsExample.h"
int main(int argc, char **argv) {
EventsExample game;
game.run();
return 0;
}