Data类重做

This commit is contained in:
Nomango 2018-07-17 23:07:51 +08:00
parent 2dfa2b3f07
commit 6bb7d35497
3 changed files with 131 additions and 95 deletions

View File

@ -1,48 +1,90 @@
#include "..\e2dtool.h" #include "..\e2dtool.h"
void e2d::Data::saveInt(const String& key, int value, const String& field) e2d::Data::Data(const String & key, const String & field)
: _key(key)
, _field(field)
, _dataPath(Path::getDataPath())
{ {
::WritePrivateProfileString((LPCWSTR)field, (LPCWSTR)key, (LPCWSTR)String::parse(value), (LPCWSTR)Path::getDataPath());
} }
void e2d::Data::saveDouble(const String& key, double value, const String& field) void e2d::Data::saveInt(int value)
{ {
::WritePrivateProfileString((LPCWSTR)field, (LPCWSTR)key, (LPCWSTR)String::parse(value), (LPCWSTR)Path::getDataPath()); ::WritePrivateProfileString(
(LPCWSTR)_field,
(LPCWSTR)_key,
(LPCWSTR)String::parse(value),
(LPCWSTR)_dataPath
);
} }
void e2d::Data::saveBool(const String& key, bool value, const String& field) void e2d::Data::saveDouble(double value)
{ {
::WritePrivateProfileString((LPCWSTR)field, (LPCWSTR)key, (value ? L"1" : L"0"), (LPCWSTR)Path::getDataPath()); ::WritePrivateProfileString(
(LPCWSTR)_field,
(LPCWSTR)_key,
(LPCWSTR)String::parse(value),
(LPCWSTR)_dataPath
);
} }
void e2d::Data::saveString(const String& key, const String& value, const String& field) void e2d::Data::saveBool(bool value)
{ {
::WritePrivateProfileString((LPCWSTR)field, (LPCWSTR)key, (LPCWSTR)value, (LPCWSTR)Path::getDataPath()); ::WritePrivateProfileString(
(LPCWSTR)_field,
(LPCWSTR)_key,
(value ? L"1" : L"0"),
(LPCWSTR)_dataPath
);
} }
int e2d::Data::getInt(const String& key, int defaultValue, const String& field) void e2d::Data::saveString(const String& value)
{ {
return ::GetPrivateProfileInt((LPCWSTR)field, (LPCWSTR)key, defaultValue, (LPCWSTR)Path::getDataPath()); ::WritePrivateProfileString(
(LPCWSTR)_field,
(LPCWSTR)_key,
(LPCWSTR)value,
(LPCWSTR)_dataPath
);
} }
double e2d::Data::getDouble(const String& key, double defaultValue, const String& field) int e2d::Data::getInt(int defaultValue)
{
return ::GetPrivateProfileInt(
(LPCWSTR)_field,
(LPCWSTR)_key,
defaultValue,
(LPCWSTR)_dataPath
);
}
double e2d::Data::getDouble(double defaultValue)
{ {
wchar_t temp[32] = { 0 }; wchar_t temp[32] = { 0 };
::GetPrivateProfileString((LPCWSTR)field, (LPCWSTR)key, (LPCWSTR)String::parse(defaultValue), temp, 31, (LPCWSTR)Path::getDataPath()); ::GetPrivateProfileString((LPCWSTR)_field, (LPCWSTR)_key, (LPCWSTR)String::parse(defaultValue), temp, 31, (LPCWSTR)_dataPath);
return std::stof(temp); return std::stof(temp);
} }
bool e2d::Data::getBool(const String& key, bool defaultValue, const String& field) bool e2d::Data::getBool(bool defaultValue)
{ {
int nDefaultValue = defaultValue ? 1 : 0; int nValue = ::GetPrivateProfileInt(
int nValue = ::GetPrivateProfileInt((LPCWSTR)field, (LPCWSTR)key, nDefaultValue, (LPCWSTR)Path::getDataPath()); (LPCWSTR)_field,
(LPCWSTR)_key,
defaultValue ? 1 : 0,
(LPCWSTR)_dataPath);
return nValue != 0; return nValue != 0;
} }
e2d::String e2d::Data::getString(const String& key, const String& defaultValue, const String& field) e2d::String e2d::Data::getString(const String& defaultValue)
{ {
wchar_t temp[256] = { 0 }; wchar_t temp[256] = { 0 };
::GetPrivateProfileString((LPCWSTR)field, (LPCWSTR)key, (LPCWSTR)defaultValue, temp, 255, (LPCWSTR)Path::getDataPath()); ::GetPrivateProfileString(
(LPCWSTR)_field,
(LPCWSTR)_key,
(LPCWSTR)defaultValue,
temp,
255,
(LPCWSTR)_dataPath
);
return temp; return temp;
} }

View File

@ -65,134 +65,134 @@ public:
virtual bool isVisible() const; virtual bool isVisible() const;
// 判断点是否在节点内 // 判断点是否在节点内
virtual bool containsPoint( bool containsPoint(
const Point& point const Point& point
); );
// 判断两物体是否相交 // 判断两物体是否相交
virtual bool intersects( bool intersects(
Node * node Node * node
); );
// 获取节点名称 // 获取节点名称
virtual String getName() const; String getName() const;
// 获取节点名称的 Hash 值 // 获取节点名称的 Hash 值
virtual size_t getHashName() const; size_t getHashName() const;
// 获取节点绘图顺序 // 获取节点绘图顺序
virtual int getOrder() const; int getOrder() const;
// 获取节点横坐标 // 获取节点横坐标
virtual double getPosX() const; double getPosX() const;
// 获取节点纵坐标 // 获取节点纵坐标
virtual double getPosY() const; double getPosY() const;
// 获取节点坐标 // 获取节点坐标
virtual Point getPos() const; Point getPos() const;
// 获取节点宽度 // 获取节点宽度
virtual double getWidth() const; double getWidth() const;
// 获取节点高度 // 获取节点高度
virtual double getHeight() const; double getHeight() const;
// 获取节点宽度(不考虑缩放) // 获取节点宽度(不考虑缩放)
virtual double getRealWidth() const; double getRealWidth() const;
// 获取节点高度(不考虑缩放) // 获取节点高度(不考虑缩放)
virtual double getRealHeight() const; double getRealHeight() const;
// 获取节点大小(不考虑缩放) // 获取节点大小(不考虑缩放)
virtual Size getRealSize() const; Size getRealSize() const;
// 获取节点的中心点 // 获取节点的中心点
virtual double getPivotX() const; double getPivotX() const;
// 获取节点的中心点 // 获取节点的中心点
virtual double getPivotY() const; double getPivotY() const;
// 获取节点大小 // 获取节点大小
virtual Size getSize() const; Size getSize() const;
// 获取节点横向缩放比例 // 获取节点横向缩放比例
virtual double getScaleX() const; double getScaleX() const;
// 获取节点纵向缩放比例 // 获取节点纵向缩放比例
virtual double getScaleY() const; double getScaleY() const;
// 获取节点横向倾斜角度 // 获取节点横向倾斜角度
virtual double getSkewX() const; double getSkewX() const;
// 获取节点纵向倾斜角度 // 获取节点纵向倾斜角度
virtual double getSkewY() const; double getSkewY() const;
// 获取节点旋转角度 // 获取节点旋转角度
virtual double getRotation() const; double getRotation() const;
// 获取节点透明度 // 获取节点透明度
virtual double getOpacity() const; double getOpacity() const;
// 获取节点属性 // 获取节点属性
virtual Property getProperty() const; Property getProperty() const;
// 获取差别属性 // 获取差别属性
virtual Property getExtrapolate() const; Property getExtrapolate() const;
// 获取节点碰撞体 // 获取节点碰撞体
virtual Collider * getCollider(); Collider * getCollider();
// 获取父节点 // 获取父节点
virtual Node * getParent() const; Node * getParent() const;
// 获取节点所在场景 // 获取节点所在场景
virtual Scene * getParentScene() const; Scene * getParentScene() const;
// 获取所有名称相同的子节点 // 获取所有名称相同的子节点
virtual std::vector<Node*> getChildren( std::vector<Node*> getChildren(
const String& name const String& name
) const; ) const;
// 获取名称相同的子节点 // 获取名称相同的子节点
virtual Node* getChild( Node* getChild(
const String& name const String& name
) const; ) const;
// 获取所有子节点 // 获取所有子节点
virtual const std::vector<Node*>& getAllChildren() const; const std::vector<Node*>& getAllChildren() const;
// 获取子节点数量 // 获取子节点数量
virtual int getChildrenCount() const; int getChildrenCount() const;
// 移除子节点 // 移除子节点
virtual bool removeChild( bool removeChild(
Node * child Node * child
); );
// 移除所有名称相同的子节点 // 移除所有名称相同的子节点
virtual void removeChildren( void removeChildren(
const String& childName const String& childName
); );
// 移除所有节点 // 移除所有节点
virtual void removeAllChildren(); void removeAllChildren();
// 从父节点移除 // 从父节点移除
virtual void removeFromParent(); void removeFromParent();
// 设置节点是否显示 // 设置节点是否显示
virtual void setVisible( void setVisible(
bool value bool value
); );
// 开启或禁用 onUpdate 函数 // 开启或禁用 onUpdate 函数
virtual void setAutoUpdate( void setAutoUpdate(
bool bAutoUpdate bool bAutoUpdate
); );
// 设置节点名称 // 设置节点名称
virtual void setName( void setName(
const String& name const String& name
); );
@ -351,45 +351,45 @@ public:
); );
// 添加子节点 // 添加子节点
virtual void addChild( void addChild(
Node * child, Node * child,
int order = 0 /* 渲染顺序 */ int order = 0 /* 渲染顺序 */
); );
// 添加多个子节点 // 添加多个子节点
virtual void addChild( void addChild(
const std::vector<Node*>& nodes, /* 节点数组 */ const std::vector<Node*>& nodes, /* 节点数组 */
int order = 0 /* 渲染顺序 */ int order = 0 /* 渲染顺序 */
); );
// 执行动作 // 执行动作
virtual void runAction( void runAction(
Action * action Action * action
); );
// 继续动作 // 继续动作
virtual void resumeAction( void resumeAction(
const String& name const String& name
); );
// 暂停动作 // 暂停动作
virtual void pauseAction( void pauseAction(
const String& name const String& name
); );
// 停止动作 // 停止动作
virtual void stopAction( void stopAction(
const String& name const String& name
); );
// 继续所有暂停动作 // 继续所有暂停动作
virtual void resumeAllActions(); void resumeAllActions();
// 暂停所有动作 // 暂停所有动作
virtual void pauseAllActions(); void pauseAllActions();
// 停止所有动作 // 停止所有动作
virtual void stopAllActions(); void stopAllActions();
// 更新转换矩阵 // 更新转换矩阵
void updateTransform(); void updateTransform();

View File

@ -381,65 +381,59 @@ private:
class Data class Data
{ {
public: public:
// 保存 int 类型的值 Data(
static void saveInt(
const String& key, /* 键值 */ const String& key, /* 键值 */
int value, /* 数据 */
const String& field = L"Defalut" /* 字段名称 */ const String& field = L"Defalut" /* 字段名称 */
); );
// 保存 int 类型的值
void saveInt(
int value /* 数据 */
);
// 保存 double 类型的值 // 保存 double 类型的值
static void saveDouble( void saveDouble(
const String& key, /* 键值 */ double value /* 数据 */
double value, /* 数据 */
const String& field = L"Defalut" /* 字段名称 */
); );
// 保存 bool 类型的值 // 保存 bool 类型的值
static void saveBool( void saveBool(
const String& key, /* 键值 */ bool value /* 数据 */
bool value, /* 数据 */
const String& field = L"Defalut" /* 字段名称 */
); );
// 保存 字符串 类型的值 // 保存 字符串 类型的值
static void saveString( void saveString(
const String& key, /* 键值 */ const String& value /* 数据 */
const String& value, /* 数据 */
const String& field = L"Defalut" /* 字段名称 */
); );
// 获取 int 类型的值 // 获取 int 类型的值
// (若不存在则返回 defaultValue 参数的值) // (若不存在则返回 defaultValue 参数的值)
static int getInt( int getInt(
const String& key, /* 键值 */ int defaultValue /* 默认值 */
int defaultValue, /* 默认值 */
const String& field = L"Defalut" /* 字段名称 */
); );
// 获取 double 类型的值 // 获取 double 类型的值
// (若不存在则返回 defaultValue 参数的值) // (若不存在则返回 defaultValue 参数的值)
static double getDouble( double getDouble(
const String& key, /* 键值 */ double defaultValue /* 默认值 */
double defaultValue, /* 默认值 */
const String& field = L"Defalut" /* 字段名称 */
); );
// 获取 bool 类型的值 // 获取 bool 类型的值
// (若不存在则返回 defaultValue 参数的值) // (若不存在则返回 defaultValue 参数的值)
static bool getBool( bool getBool(
const String& key, /* 键值 */ bool defaultValue /* 默认值 */
bool defaultValue, /* 默认值 */
const String& field = L"Defalut" /* 字段名称 */
); );
// 获取 字符串 类型的值 // 获取 字符串 类型的值
// (若不存在则返回 defaultValue 参数的值) // (若不存在则返回 defaultValue 参数的值)
static String getString( String getString(
const String& key, /* 键值 */ const String& defaultValue /* 默认值 */
const String& defaultValue, /* 默认值 */
const String& field = L"Defalut" /* 字段名称 */
); );
protected:
String _key;
String _field;
const String _dataPath;
}; };