From d30a5da34b409f35e9f7e6f02efaf21c26d31e6c Mon Sep 17 00:00:00 2001 From: kebiao <380000937@qq.com> Date: Fri, 15 Feb 2019 15:23:11 +0800 Subject: [PATCH] up --- kbe/src/lib/entitydef/datatypes.cpp | 12 ++++++++++++ kbe/src/lib/entitydef/datatypes.h | 6 ++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/kbe/src/lib/entitydef/datatypes.cpp b/kbe/src/lib/entitydef/datatypes.cpp index b4766bac5e..afb3ac0548 100644 --- a/kbe/src/lib/entitydef/datatypes.cpp +++ b/kbe/src/lib/entitydef/datatypes.cpp @@ -11,6 +11,8 @@ DataTypes::DATATYPE_MAP DataTypes::dataTypesLowerName_; DataTypes::UID_DATATYPE_MAP DataTypes::uid_dataTypes_; DataTypes::DATATYPE_ORDERS DataTypes::dataTypesOrders_; +static uint8 _g_baseTypeEndIndex = 0; + //------------------------------------------------------------------------------------- DataTypes::DataTypes() { @@ -72,9 +74,19 @@ bool DataTypes::initialize(std::string file) addDataType("VECTOR2", new Vector2Type); addDataType("VECTOR3", new Vector3Type); addDataType("VECTOR4", new Vector4Type); + + _g_baseTypeEndIndex = dataTypesOrders_.size(); return loadTypes(file); } +//------------------------------------------------------------------------------------- +std::vector< std::string > DataTypes::getBaseTypeNames() +{ + std::vector< std::string > ret; + ret.assign(dataTypesOrders_.begin(), dataTypesOrders_.begin() + _g_baseTypeEndIndex); + return ret; +} + //------------------------------------------------------------------------------------- bool DataTypes::loadTypes(std::string& file) { diff --git a/kbe/src/lib/entitydef/datatypes.h b/kbe/src/lib/entitydef/datatypes.h index 59054d33ba..621c8af328 100644 --- a/kbe/src/lib/entitydef/datatypes.h +++ b/kbe/src/lib/entitydef/datatypes.h @@ -43,10 +43,12 @@ class DataTypes static bool loadTypes(std::string& file); static bool loadTypes(SmartPointer& xml); - static const DATATYPE_MAP& dataTypes(){ return dataTypes_; } - static const UID_DATATYPE_MAP& uid_dataTypes(){ return uid_dataTypes_; } + static const DATATYPE_MAP& dataTypes() { return dataTypes_; } + static const UID_DATATYPE_MAP& uid_dataTypes() { return uid_dataTypes_; } static const DATATYPE_ORDERS& dataTypesOrders() { return dataTypesOrders_; } + static std::vector< std::string > getBaseTypeNames(); + protected: static DATATYPE_MAP dataTypes_; static DATATYPE_MAP dataTypesLowerName_;