From d68acc190307c9be0232f3b17cfe0c8cbb3ea683 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Mon, 9 Sep 2013 06:32:38 +0200 Subject: [PATCH] [DEV] Think at a particule engine --- ege/Particule.h | 45 ++++++++++++++++++++++++++++++++++++++++++- ege/ParticuleEngine.h | 8 +++++++- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/ege/Particule.h b/ege/Particule.h index e562d8f..4282677 100644 --- a/ege/Particule.h +++ b/ege/Particule.h @@ -10,7 +10,50 @@ #define __EGE_PARTICULE_H__ namespace ege { - + class Particule + { + private: + etk::UString m_name; //!< name of the particule + bool m_standalone; //!< if true, no control of the particule... + public: + /** + * @brief Constructor. + * @param[in] _name Name of the particule. + * @param[in] _standalone The particule are created and have there own life (no dynamic control) + */ + Particule(const etk::UString& _name, bool _standalone) : m_name(_name) { }; + /** + * @brief Destructor. + */ + ~Particule(void) { }; + /** + * @brief Get the particule type name. + * @return the particule name. + */ + const etk::UString& GetName(void) { return m_name; }; + /** + * @brief Get the standalone status. + * @return true if standalone + */ + bool GetStandalone(void) { return m_standalone; }; + /** + * @brief Update the paticule properties + * @param[in] _delta Delta time from the previous call + */ + virtual void Update(float _delta) { }; + // note : For multiple instance only (standalone==false) + /** + * + */ + /* + virtual int32_t Add(void) { return -1; }; + virtual void SetLife(int32_t _id, float _life); + virtual void SetLevel(int32_t _id, float _level); + virtual void SetPosition(int32_t _id, const vec3& _pos); + virtual void SetAngleSpeed(int32_t _id, const vec4& _angle); + virtual void SetMoveSpeed(int32_t _id, const vec3& _speed); + */ + }; }; #endif diff --git a/ege/ParticuleEngine.h b/ege/ParticuleEngine.h index d4ae915..fc5a941 100644 --- a/ege/ParticuleEngine.h +++ b/ege/ParticuleEngine.h @@ -10,7 +10,13 @@ #define __EGE_PARTICULE_ENGINE_H__ namespace ege { - + class PariculeEngine + { + public: + PariculeEngine(ege::Environement& _env); + ~PariculeEngine(void); + Keep( + }; }; #endif