mirror of https://github.com/axmolengine/axmol.git
lua api compatible
This commit is contained in:
parent
abc87f8cd5
commit
f771a92ca2
|
@ -208,14 +208,12 @@ void GUIReader::registerTypeAndCallBack(const std::string& classType,
|
||||||
|
|
||||||
Widget* GUIReader::widgetFromJsonFile(const char *fileName)
|
Widget* GUIReader::widgetFromJsonFile(const char *fileName)
|
||||||
{
|
{
|
||||||
auto thiz = GUIReader::getInstance();
|
|
||||||
|
|
||||||
std::string jsonpath;
|
std::string jsonpath;
|
||||||
rapidjson::Document jsonDict;
|
rapidjson::Document jsonDict;
|
||||||
jsonpath = fileName;
|
jsonpath = fileName;
|
||||||
// jsonpath = CCFileUtils::getInstance()->fullPathForFilename(fileName);
|
// jsonpath = CCFileUtils::getInstance()->fullPathForFilename(fileName);
|
||||||
size_t pos = jsonpath.find_last_of('/');
|
size_t pos = jsonpath.find_last_of('/');
|
||||||
thiz->m_strFilePath = jsonpath.substr(0,pos+1);
|
m_strFilePath = jsonpath.substr(0,pos+1);
|
||||||
std::string contentStr = FileUtils::getInstance()->getStringFromFile(jsonpath);
|
std::string contentStr = FileUtils::getInstance()->getStringFromFile(jsonpath);
|
||||||
jsonDict.Parse<0>(contentStr.c_str());
|
jsonDict.Parse<0>(contentStr.c_str());
|
||||||
if (jsonDict.HasParseError())
|
if (jsonDict.HasParseError())
|
||||||
|
@ -227,22 +225,22 @@ Widget* GUIReader::widgetFromJsonFile(const char *fileName)
|
||||||
WidgetPropertiesReader * pReader = nullptr;
|
WidgetPropertiesReader * pReader = nullptr;
|
||||||
if (fileVersion)
|
if (fileVersion)
|
||||||
{
|
{
|
||||||
int versionInteger = thiz->getVersionInteger(fileVersion);
|
int versionInteger = this->getVersionInteger(fileVersion);
|
||||||
if (versionInteger < 250)
|
if (versionInteger < 250)
|
||||||
{
|
{
|
||||||
pReader = new (std::nothrow) WidgetPropertiesReader0250();
|
pReader = new (std::nothrow) WidgetPropertiesReader0250();
|
||||||
widget = pReader->createWidget(jsonDict, thiz->m_strFilePath.c_str(), fileName);
|
widget = pReader->createWidget(jsonDict, this->m_strFilePath.c_str(), fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pReader = new (std::nothrow) WidgetPropertiesReader0300();
|
pReader = new (std::nothrow) WidgetPropertiesReader0300();
|
||||||
widget = pReader->createWidget(jsonDict, thiz->m_strFilePath.c_str(), fileName);
|
widget = pReader->createWidget(jsonDict, this->m_strFilePath.c_str(), fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pReader = new (std::nothrow) WidgetPropertiesReader0250();
|
pReader = new (std::nothrow) WidgetPropertiesReader0250();
|
||||||
widget = pReader->createWidget(jsonDict, thiz->m_strFilePath.c_str(), fileName);
|
widget = pReader->createWidget(jsonDict, this->m_strFilePath.c_str(), fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
CC_SAFE_DELETE(pReader);
|
CC_SAFE_DELETE(pReader);
|
||||||
|
@ -366,14 +364,12 @@ WidgetReaderProtocol* WidgetPropertiesReader::createWidgetReaderProtocol(const s
|
||||||
|
|
||||||
Widget* GUIReader::widgetFromBinaryFile(const char *fileName)
|
Widget* GUIReader::widgetFromBinaryFile(const char *fileName)
|
||||||
{
|
{
|
||||||
auto thiz = GUIReader::getInstance();
|
|
||||||
|
|
||||||
std::string jsonpath;
|
std::string jsonpath;
|
||||||
rapidjson::Document jsonDict;
|
rapidjson::Document jsonDict;
|
||||||
jsonpath = fileName;
|
jsonpath = fileName;
|
||||||
// jsonpath = CCFileUtils::getInstance()->fullPathForFilename(fileName);
|
// jsonpath = CCFileUtils::getInstance()->fullPathForFilename(fileName);
|
||||||
size_t pos = jsonpath.find_last_of('/');
|
size_t pos = jsonpath.find_last_of('/');
|
||||||
thiz->m_strFilePath = jsonpath.substr(0,pos+1);
|
m_strFilePath = jsonpath.substr(0,pos+1);
|
||||||
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(fileName);
|
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(fileName);
|
||||||
auto fileData = FileUtils::getInstance()->getDataFromFile(fullPath);
|
auto fileData = FileUtils::getInstance()->getDataFromFile(fullPath);
|
||||||
auto fileDataBytes = fileData.getBytes();
|
auto fileDataBytes = fileData.getBytes();
|
||||||
|
@ -406,7 +402,7 @@ Widget* GUIReader::widgetFromBinaryFile(const char *fileName)
|
||||||
WidgetPropertiesReader * pReader = nullptr;
|
WidgetPropertiesReader * pReader = nullptr;
|
||||||
if (fileVersion)
|
if (fileVersion)
|
||||||
{
|
{
|
||||||
int versionInteger = thiz->getVersionInteger(fileVersion);
|
int versionInteger = this->getVersionInteger(fileVersion);
|
||||||
if (versionInteger < 250)
|
if (versionInteger < 250)
|
||||||
{
|
{
|
||||||
CCASSERT(0, "You current studio doesn't support binary format, please upgrade to the latest version!");
|
CCASSERT(0, "You current studio doesn't support binary format, please upgrade to the latest version!");
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
Copyright (c) 2013-2017 Chukong Technologies Inc.
|
Copyright (c) 2013-2017 Chukong Technologies Inc.
|
||||||
|
|
||||||
http://www.cocos2d-x.org
|
http://www.cocos2d-x.org
|
||||||
|
@ -62,9 +62,9 @@ public:
|
||||||
static GUIReader* getInstance();
|
static GUIReader* getInstance();
|
||||||
static void destroyInstance();
|
static void destroyInstance();
|
||||||
|
|
||||||
static cocos2d::ui::Widget* widgetFromJsonFile(const char* fileName);
|
cocos2d::ui::Widget* widgetFromJsonFile(const char* fileName);
|
||||||
|
|
||||||
static cocos2d::ui::Widget* widgetFromBinaryFile(const char* fileName);
|
cocos2d::ui::Widget* widgetFromBinaryFile(const char* fileName);
|
||||||
|
|
||||||
int getVersionInteger(const char* str);
|
int getVersionInteger(const char* str);
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14941,73 +14941,101 @@ int lua_cocos2dx_studio_GUIReader_destroyInstance(lua_State* tolua_S)
|
||||||
int lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile(lua_State* tolua_S)
|
int lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile(lua_State* tolua_S)
|
||||||
{
|
{
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
|
cocostudio::GUIReader* cobj = nullptr;
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
#if COCOS2D_DEBUG >= 1
|
#if COCOS2D_DEBUG >= 1
|
||||||
tolua_Error tolua_err;
|
tolua_Error tolua_err;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if COCOS2D_DEBUG >= 1
|
#if COCOS2D_DEBUG >= 1
|
||||||
if (!tolua_isusertable(tolua_S,1,"ccs.GUIReader",0,&tolua_err)) goto tolua_lerror;
|
if (!tolua_isusertype(tolua_S,1,"ccs.GUIReader",0,&tolua_err)) goto tolua_lerror;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
argc = lua_gettop(tolua_S) - 1;
|
cobj = (cocostudio::GUIReader*)tolua_tousertype(tolua_S,1,0);
|
||||||
|
|
||||||
|
#if COCOS2D_DEBUG >= 1
|
||||||
|
if (!cobj)
|
||||||
|
{
|
||||||
|
tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile'", nullptr);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
argc = lua_gettop(tolua_S)-1;
|
||||||
if (argc == 1)
|
if (argc == 1)
|
||||||
{
|
{
|
||||||
const char* arg0;
|
const char* arg0;
|
||||||
|
|
||||||
std::string arg0_tmp; ok &= luaval_to_std_string(tolua_S, 2, &arg0_tmp, "ccs.GUIReader:widgetFromBinaryFile"); arg0 = arg0_tmp.c_str();
|
std::string arg0_tmp; ok &= luaval_to_std_string(tolua_S, 2, &arg0_tmp, "ccs.GUIReader:widgetFromBinaryFile"); arg0 = arg0_tmp.c_str();
|
||||||
if(!ok)
|
if(!ok)
|
||||||
{
|
{
|
||||||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile'", nullptr);
|
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile'", nullptr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
cocos2d::ui::Widget* ret = cocostudio::GUIReader::widgetFromBinaryFile(arg0);
|
cocos2d::ui::Widget* ret = cobj->widgetFromBinaryFile(arg0);
|
||||||
object_to_luaval<cocos2d::ui::Widget>(tolua_S, "ccui.Widget",(cocos2d::ui::Widget*)ret);
|
object_to_luaval<cocos2d::ui::Widget>(tolua_S, "ccui.Widget",(cocos2d::ui::Widget*)ret);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d\n ", "ccs.GUIReader:widgetFromBinaryFile",argc, 1);
|
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "ccs.GUIReader:widgetFromBinaryFile",argc, 1);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#if COCOS2D_DEBUG >= 1
|
#if COCOS2D_DEBUG >= 1
|
||||||
tolua_lerror:
|
tolua_lerror:
|
||||||
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile'.",&tolua_err);
|
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_studio_GUIReader_widgetFromBinaryFile'.",&tolua_err);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int lua_cocos2dx_studio_GUIReader_widgetFromJsonFile(lua_State* tolua_S)
|
int lua_cocos2dx_studio_GUIReader_widgetFromJsonFile(lua_State* tolua_S)
|
||||||
{
|
{
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
|
cocostudio::GUIReader* cobj = nullptr;
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
#if COCOS2D_DEBUG >= 1
|
#if COCOS2D_DEBUG >= 1
|
||||||
tolua_Error tolua_err;
|
tolua_Error tolua_err;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if COCOS2D_DEBUG >= 1
|
#if COCOS2D_DEBUG >= 1
|
||||||
if (!tolua_isusertable(tolua_S,1,"ccs.GUIReader",0,&tolua_err)) goto tolua_lerror;
|
if (!tolua_isusertype(tolua_S,1,"ccs.GUIReader",0,&tolua_err)) goto tolua_lerror;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
argc = lua_gettop(tolua_S) - 1;
|
cobj = (cocostudio::GUIReader*)tolua_tousertype(tolua_S,1,0);
|
||||||
|
|
||||||
|
#if COCOS2D_DEBUG >= 1
|
||||||
|
if (!cobj)
|
||||||
|
{
|
||||||
|
tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_studio_GUIReader_widgetFromJsonFile'", nullptr);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
argc = lua_gettop(tolua_S)-1;
|
||||||
if (argc == 1)
|
if (argc == 1)
|
||||||
{
|
{
|
||||||
const char* arg0;
|
const char* arg0;
|
||||||
|
|
||||||
std::string arg0_tmp; ok &= luaval_to_std_string(tolua_S, 2, &arg0_tmp, "ccs.GUIReader:widgetFromJsonFile"); arg0 = arg0_tmp.c_str();
|
std::string arg0_tmp; ok &= luaval_to_std_string(tolua_S, 2, &arg0_tmp, "ccs.GUIReader:widgetFromJsonFile"); arg0 = arg0_tmp.c_str();
|
||||||
if(!ok)
|
if(!ok)
|
||||||
{
|
{
|
||||||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_studio_GUIReader_widgetFromJsonFile'", nullptr);
|
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_studio_GUIReader_widgetFromJsonFile'", nullptr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
cocos2d::ui::Widget* ret = cocostudio::GUIReader::widgetFromJsonFile(arg0);
|
cocos2d::ui::Widget* ret = cobj->widgetFromJsonFile(arg0);
|
||||||
object_to_luaval<cocos2d::ui::Widget>(tolua_S, "ccui.Widget",(cocos2d::ui::Widget*)ret);
|
object_to_luaval<cocos2d::ui::Widget>(tolua_S, "ccui.Widget",(cocos2d::ui::Widget*)ret);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d\n ", "ccs.GUIReader:widgetFromJsonFile",argc, 1);
|
luaL_error(tolua_S, "%s has wrong number of arguments: %d, was expecting %d \n", "ccs.GUIReader:widgetFromJsonFile",argc, 1);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#if COCOS2D_DEBUG >= 1
|
#if COCOS2D_DEBUG >= 1
|
||||||
tolua_lerror:
|
tolua_lerror:
|
||||||
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_studio_GUIReader_widgetFromJsonFile'.",&tolua_err);
|
tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_studio_GUIReader_widgetFromJsonFile'.",&tolua_err);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int lua_cocos2dx_studio_GUIReader_getInstance(lua_State* tolua_S)
|
int lua_cocos2dx_studio_GUIReader_getInstance(lua_State* tolua_S)
|
||||||
|
|
Loading…
Reference in New Issue