Data类重做
This commit is contained in:
parent
2dfa2b3f07
commit
6bb7d35497
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue