2012-09-17 14:27:17 +08:00
|
|
|
#ifndef __CCB_VALUE_H__
|
|
|
|
#define __CCB_VALUE_H__
|
|
|
|
|
|
|
|
#include "cocos2d.h"
|
|
|
|
#include "ExtensionMacros.h"
|
|
|
|
|
|
|
|
/*
|
2013-07-05 16:49:22 +08:00
|
|
|
These classes are wrapper of basic types, such as Color3B
|
2012-09-17 14:27:17 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
NS_CC_EXT_BEGIN
|
|
|
|
|
2013-07-05 16:49:22 +08:00
|
|
|
class Color3BWapper : public Object
|
2012-09-17 14:27:17 +08:00
|
|
|
{
|
|
|
|
public:
|
2013-07-05 16:49:22 +08:00
|
|
|
static Color3BWapper* create(const Color3B& color);
|
2012-09-17 14:27:17 +08:00
|
|
|
|
2013-07-05 16:49:22 +08:00
|
|
|
const Color3B& getColor() const;
|
2013-07-27 22:31:57 +08:00
|
|
|
|
|
|
|
private:
|
|
|
|
Color3B color;
|
2012-09-17 14:27:17 +08:00
|
|
|
};
|
|
|
|
|
2013-07-27 21:44:49 +08:00
|
|
|
|
2012-09-17 14:27:17 +08:00
|
|
|
|
2013-06-20 14:15:53 +08:00
|
|
|
class CCBValue : public Object
|
2012-09-17 14:27:17 +08:00
|
|
|
{
|
2013-07-27 21:44:49 +08:00
|
|
|
public:
|
2012-09-17 14:27:17 +08:00
|
|
|
|
2013-07-28 00:26:24 +08:00
|
|
|
enum class Type
|
2013-07-27 21:44:49 +08:00
|
|
|
{
|
2013-07-28 00:26:24 +08:00
|
|
|
INT,
|
|
|
|
FLOAT,
|
|
|
|
BOOL,
|
|
|
|
UNSIGNED_CHAR,
|
|
|
|
STRING,
|
|
|
|
ARRAY
|
2013-07-27 21:44:49 +08:00
|
|
|
};
|
2012-09-17 14:27:17 +08:00
|
|
|
|
|
|
|
static CCBValue* create(int nValue);
|
|
|
|
static CCBValue* create(bool bValue);
|
|
|
|
static CCBValue* create(float fValue);
|
|
|
|
static CCBValue* create(unsigned char byte);
|
2013-01-21 18:37:17 +08:00
|
|
|
static CCBValue* create(const char* pStr);
|
2013-06-20 14:15:53 +08:00
|
|
|
static CCBValue* create(Array* pArr);
|
2013-03-15 08:43:56 +08:00
|
|
|
|
2012-09-17 14:27:17 +08:00
|
|
|
|
|
|
|
int getIntValue();
|
|
|
|
float getFloatValue();
|
|
|
|
bool getBoolValue();
|
|
|
|
unsigned char getByteValue();
|
2013-01-21 18:37:17 +08:00
|
|
|
const char* getStringValue();
|
2013-06-20 14:15:53 +08:00
|
|
|
Array *getArrayValue();
|
2013-01-21 18:37:17 +08:00
|
|
|
|
2013-07-27 21:44:49 +08:00
|
|
|
Type getType();
|
|
|
|
|
|
|
|
private:
|
|
|
|
union
|
|
|
|
{
|
2013-07-27 22:31:57 +08:00
|
|
|
int intValue;
|
|
|
|
float floatValue;
|
|
|
|
} _value;
|
2013-07-27 21:44:49 +08:00
|
|
|
|
2013-07-27 22:31:57 +08:00
|
|
|
std::string _strValue;
|
2013-07-27 21:44:49 +08:00
|
|
|
Array* _arrValue;
|
2013-07-27 22:31:57 +08:00
|
|
|
Type _type;
|
2012-09-17 14:27:17 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
NS_CC_EXT_END
|
|
|
|
|
|
|
|
#endif // __CCB_VALUE_H__
|