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

View File

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

View File

@ -30,12 +30,9 @@
#undef __class__ #undef __class__
#define __class__ "Scene" #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() : ege::widget::Scene::Scene() :
signalPlayTimeChange(*this, "time-change"),
signalKillEnemy(*this, "kill-ennemy"),
m_gameTime(0), m_gameTime(0),
m_angleView(M_PI/3.0), m_angleView(M_PI/3.0),
m_dynamicsWorld(nullptr), m_dynamicsWorld(nullptr),
@ -44,8 +41,6 @@ ege::widget::Scene::Scene() :
m_debugMode(false), m_debugMode(false),
m_debugDrawing(nullptr) { m_debugDrawing(nullptr) {
addObjectType("ege::widget::Scene"); addObjectType("ege::widget::Scene");
addEventId(eventPlayTimeChange);
addEventId(eventKillEnemy);
} }
void ege::widget::Scene::init(bool _setAutoBullet, bool _setAutoCamera) { 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; int32_t lastGameTime = m_gameTime;
m_gameTime += curentDelta; m_gameTime += curentDelta;
if (lastGameTime != (int32_t)m_gameTime) { 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); //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) { if (0 != numberEnnemyKilled) {
generateEventId(eventKillEnemy, etk::to_string(numberEnnemyKilled)); signalKillEnemy.emit(shared_from_this(), numberEnnemyKilled);
} }
} }
markToRedraw(); markToRedraw();

View File

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