mirror of https://github.com/axmolengine/axmol.git
Merge branch 'gles20' of https://github.com/cocos2d/cocos2d-x into iss1520-comments
This commit is contained in:
commit
9b644f2757
|
@ -29,7 +29,7 @@ THE SOFTWARE.
|
|||
|
||||
using namespace std;
|
||||
|
||||
NS_CC_BEGIN;
|
||||
NS_CC_BEGIN
|
||||
|
||||
static CCNotificationCenter *s_sharedNotifCenter = NULL;
|
||||
|
||||
|
@ -214,4 +214,4 @@ CCObject *CCNotificationObserver::getObject()
|
|||
return m_object;
|
||||
}
|
||||
|
||||
NS_CC_END;
|
||||
NS_CC_END
|
||||
|
|
|
@ -28,38 +28,71 @@ THE SOFTWARE.
|
|||
#include "cocoa/CCObject.h"
|
||||
#include "cocoa/CCArray.h"
|
||||
|
||||
NS_CC_BEGIN;
|
||||
NS_CC_BEGIN
|
||||
|
||||
class CC_DLL CCNotificationCenter : public CCObject
|
||||
{
|
||||
public:
|
||||
/** CCNotificationCenter constructor */
|
||||
CCNotificationCenter();
|
||||
|
||||
/** CCNotificationCenter destructor */
|
||||
~CCNotificationCenter();
|
||||
|
||||
/** Gets the single instance of CCNotificationCenter. */
|
||||
static CCNotificationCenter *sharedNotificationCenter(void);
|
||||
|
||||
/** Destroys the single instance of CCNotificationCenter. */
|
||||
static void purgeNotificationCenter(void);
|
||||
|
||||
/** @brief Adds an observer for the specified target.
|
||||
* @param target The target which wants to observe notification events.
|
||||
* @param selector The callback function which will be invoked when the specified notification event was posted.
|
||||
* @param name The name of this notification.
|
||||
* @param obj The extra parameter which will be passed to the callback function.
|
||||
*/
|
||||
void addObserver(CCObject *target,
|
||||
SEL_CallFuncO selector,
|
||||
const char *name,
|
||||
CCObject *obj);
|
||||
|
||||
|
||||
/** @brief Removes the observer by the specified target and name.
|
||||
* @param target The target of this notification.
|
||||
* @param name The name of this notification.
|
||||
*/
|
||||
void removeObserver(CCObject *target,const char *name);
|
||||
|
||||
/** @brief Registers one hander for script binding.
|
||||
* @note Only supports Lua Binding now.
|
||||
* @param handler The lua handler.
|
||||
*/
|
||||
void registerScriptObserver(int handler);
|
||||
|
||||
/** Unregisters script observer */
|
||||
void unregisterScriptObserver(void);
|
||||
|
||||
/** @brief Posts one notification event by name.
|
||||
* @param name The name of this notification.
|
||||
*/
|
||||
void postNotification(const char *name);
|
||||
|
||||
/** @brief Posts one notification event by name.
|
||||
* @param name The name of this notification.
|
||||
* @param object The extra parameter.
|
||||
*/
|
||||
void postNotification(const char *name, CCObject *object);
|
||||
|
||||
/** @brief Gets script handler.
|
||||
* @note Only supports Lua Binding now.
|
||||
* @return The script handle.
|
||||
*/
|
||||
inline int getScriptHandler() { return m_scriptHandler; };
|
||||
private:
|
||||
//
|
||||
// internal functions
|
||||
//
|
||||
|
||||
// Check whether the observer exists by the specified target and name.
|
||||
bool observerExisted(CCObject *target,const char *name);
|
||||
|
||||
//
|
||||
// variables
|
||||
//
|
||||
CCArray *m_observers;
|
||||
|
@ -69,12 +102,21 @@ private:
|
|||
class CC_DLL CCNotificationObserver : public CCObject
|
||||
{
|
||||
public:
|
||||
/** @brief CCNotificationObserver constructor
|
||||
* @param target The target which wants to observer notification events.
|
||||
* @param selector The callback function which will be invoked when the specified notification event was posted.
|
||||
* @param name The name of this notification.
|
||||
* @param obj The extra parameter which will be passed to the callback function.
|
||||
*/
|
||||
CCNotificationObserver(CCObject *target,
|
||||
SEL_CallFuncO selector,
|
||||
const char *name,
|
||||
CCObject *obj);
|
||||
|
||||
/** CCNotificationObserver destructor function */
|
||||
~CCNotificationObserver();
|
||||
|
||||
/** Invokes the callback function of this observer */
|
||||
void performSelector(CCObject *obj);
|
||||
private:
|
||||
CC_PROPERTY_READONLY(CCObject *, m_target, Target);
|
||||
|
@ -83,6 +125,6 @@ private:
|
|||
CC_PROPERTY_READONLY(CCObject *, m_object, Object);
|
||||
};
|
||||
|
||||
NS_CC_END;
|
||||
NS_CC_END
|
||||
|
||||
#endif//__CCNOTIFICATIONCENTER_H__
|
Loading…
Reference in New Issue