[DEV] rework signal interface (step 1 normalisation)

This commit is contained in:
Edouard DUPIN 2014-08-20 22:34:31 +02:00
parent d22d7ade73
commit 87b68c408e
4 changed files with 10 additions and 19 deletions

View File

@ -11,21 +11,18 @@
#include <ewol/resource/Manager.h>
#include <ege/debug.h>
extern const char * const ewolEventMeshPressed = "ewol-mesh-Pressed";
#undef __class__
#define __class__ "Mesh"
ege::widget::Mesh::Mesh():
signalPressed(*this, "pressed"),
m_position(0,0,0),
m_angle(0,0,0),
m_angleSpeed(0,0,0),
m_cameraDistance(10.0) {
addObjectType("ege::widget::Mesh");
addEventId(ewolEventMeshPressed);
}
void ege::widget::Mesh::init(const std::string& _filename) {
@ -90,7 +87,7 @@ bool ege::widget::Mesh::onEventInput(const ewol::event::Input& _event) {
//EGE_DEBUG("Event on BT ...");
if (1 == _event.getId()) {
if(ewol::key::statusSingle == _event.getStatus()) {
generateEventId(ewolEventMeshPressed);
signalPressed.emit(shared_from_this());
return true;
}
}

View File

@ -13,15 +13,14 @@
#include <ewol/widget/Widget.h>
#include <ege/resource/Mesh.h>
extern const char * const ewolEventMeshPressed;
namespace ege {
namespace widget {
/**
* @ingroup ewolWidgetGroup
*/
class Mesh :public ewol::Widget {
public:
ewol::object::Signal<void> signalPressed;
private:
// mesh name :
std::string m_meshName;

View File

@ -30,12 +30,9 @@
#undef __class__
#define __class__ "Scene"
const char * const ege::widget::Scene::eventPlayTimeChange = "event-scene-play-time-change";
const char * const ege::widget::Scene::eventKillEnemy = "event-scene-kill-ennemy";
ege::widget::Scene::Scene() :
signalPlayTimeChange(*this, "time-change"),
signalKillEnemy(*this, "kill-ennemy"),
m_gameTime(0),
m_angleView(M_PI/3.0),
m_dynamicsWorld(nullptr),
@ -44,8 +41,6 @@ ege::widget::Scene::Scene() :
m_debugMode(false),
m_debugDrawing(nullptr) {
addObjectType("ege::widget::Scene");
addEventId(eventPlayTimeChange);
addEventId(eventKillEnemy);
}
void ege::widget::Scene::init(bool _setAutoBullet, bool _setAutoCamera) {
@ -257,7 +252,7 @@ void ege::widget::Scene::periodicCall(const ewol::event::Time& _event) {
int32_t lastGameTime = m_gameTime;
m_gameTime += curentDelta;
if (lastGameTime != (int32_t)m_gameTime) {
generateEventId(eventPlayTimeChange, etk::to_string(m_gameTime));
signalPlayTimeChange.emit(shared_from_this(), m_gameTime);
}
//EWOL_DEBUG("Time: m_lastCallTime=" << m_lastCallTime << " deltaTime=" << deltaTime);
@ -293,7 +288,7 @@ void ege::widget::Scene::periodicCall(const ewol::event::Time& _event) {
}
if (0 != numberEnnemyKilled) {
generateEventId(eventKillEnemy, etk::to_string(numberEnnemyKilled));
signalKillEnemy.emit(shared_from_this(), numberEnnemyKilled);
}
}
markToRedraw();

View File

@ -38,8 +38,8 @@ namespace ege {
class Scene : public ewol::Widget {
public:
// extern event
static const char * const eventPlayTimeChange;
static const char * const eventKillEnemy;
ewol::object::Signal<float> signalPlayTimeChange;
ewol::object::Signal<int32_t> signalKillEnemy;
protected:
ege::Environement m_env;
protected: