Data类重做
This commit is contained in:
parent
2dfa2b3f07
commit
6bb7d35497
|
|
@ -1,48 +1,90 @@
|
|||
#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 };
|
||||
::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);
|
||||
}
|
||||
|
||||
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((LPCWSTR)field, (LPCWSTR)key, nDefaultValue, (LPCWSTR)Path::getDataPath());
|
||||
int nValue = ::GetPrivateProfileInt(
|
||||
(LPCWSTR)_field,
|
||||
(LPCWSTR)_key,
|
||||
defaultValue ? 1 : 0,
|
||||
(LPCWSTR)_dataPath);
|
||||
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 };
|
||||
::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;
|
||||
}
|
||||
|
|
@ -65,134 +65,134 @@ public:
|
|||
virtual bool isVisible() const;
|
||||
|
||||
// 判断点是否在节点内
|
||||
virtual bool containsPoint(
|
||||
bool containsPoint(
|
||||
const Point& point
|
||||
);
|
||||
|
||||
// 判断两物体是否相交
|
||||
virtual bool intersects(
|
||||
bool intersects(
|
||||
Node * node
|
||||
);
|
||||
|
||||
// 获取节点名称
|
||||
virtual String getName() const;
|
||||
String getName() const;
|
||||
|
||||
// 获取节点名称的 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;
|
||||
|
||||
// 获取名称相同的子节点
|
||||
virtual Node* getChild(
|
||||
Node* getChild(
|
||||
const String& name
|
||||
) 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
|
||||
);
|
||||
|
||||
// 移除所有名称相同的子节点
|
||||
virtual void removeChildren(
|
||||
void removeChildren(
|
||||
const String& childName
|
||||
);
|
||||
|
||||
// 移除所有节点
|
||||
virtual void removeAllChildren();
|
||||
void removeAllChildren();
|
||||
|
||||
// 从父节点移除
|
||||
virtual void removeFromParent();
|
||||
void removeFromParent();
|
||||
|
||||
// 设置节点是否显示
|
||||
virtual void setVisible(
|
||||
void setVisible(
|
||||
bool value
|
||||
);
|
||||
|
||||
// 开启或禁用 onUpdate 函数
|
||||
virtual void setAutoUpdate(
|
||||
void setAutoUpdate(
|
||||
bool bAutoUpdate
|
||||
);
|
||||
|
||||
// 设置节点名称
|
||||
virtual void setName(
|
||||
void setName(
|
||||
const String& name
|
||||
);
|
||||
|
||||
|
|
@ -351,45 +351,45 @@ public:
|
|||
);
|
||||
|
||||
// 添加子节点
|
||||
virtual void addChild(
|
||||
void addChild(
|
||||
Node * child,
|
||||
int order = 0 /* 渲染顺序 */
|
||||
);
|
||||
|
||||
// 添加多个子节点
|
||||
virtual void addChild(
|
||||
void addChild(
|
||||
const std::vector<Node*>& nodes, /* 节点数组 */
|
||||
int order = 0 /* 渲染顺序 */
|
||||
);
|
||||
|
||||
// 执行动作
|
||||
virtual void runAction(
|
||||
void runAction(
|
||||
Action * action
|
||||
);
|
||||
|
||||
// 继续动作
|
||||
virtual void resumeAction(
|
||||
void resumeAction(
|
||||
const String& name
|
||||
);
|
||||
|
||||
// 暂停动作
|
||||
virtual void pauseAction(
|
||||
void pauseAction(
|
||||
const String& name
|
||||
);
|
||||
|
||||
// 停止动作
|
||||
virtual void stopAction(
|
||||
void stopAction(
|
||||
const String& name
|
||||
);
|
||||
|
||||
// 继续所有暂停动作
|
||||
virtual void resumeAllActions();
|
||||
void resumeAllActions();
|
||||
|
||||
// 暂停所有动作
|
||||
virtual void pauseAllActions();
|
||||
void pauseAllActions();
|
||||
|
||||
// 停止所有动作
|
||||
virtual void stopAllActions();
|
||||
void stopAllActions();
|
||||
|
||||
// 更新转换矩阵
|
||||
void updateTransform();
|
||||
|
|
|
|||
|
|
@ -381,65 +381,59 @@ private:
|
|||
class Data
|
||||
{
|
||||
public:
|
||||
// 保存 int 类型的值
|
||||
static void saveInt(
|
||||
Data(
|
||||
const String& key, /* 键值 */
|
||||
int value, /* 数据 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
);
|
||||
|
||||
// 保存 int 类型的值
|
||||
void saveInt(
|
||||
int value /* 数据 */
|
||||
);
|
||||
|
||||
// 保存 double 类型的值
|
||||
static void saveDouble(
|
||||
const String& key, /* 键值 */
|
||||
double value, /* 数据 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
void saveDouble(
|
||||
double value /* 数据 */
|
||||
);
|
||||
|
||||
// 保存 bool 类型的值
|
||||
static void saveBool(
|
||||
const String& key, /* 键值 */
|
||||
bool value, /* 数据 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
void saveBool(
|
||||
bool value /* 数据 */
|
||||
);
|
||||
|
||||
// 保存 字符串 类型的值
|
||||
static void saveString(
|
||||
const String& key, /* 键值 */
|
||||
const String& value, /* 数据 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
void saveString(
|
||||
const String& value /* 数据 */
|
||||
);
|
||||
|
||||
// 获取 int 类型的值
|
||||
// (若不存在则返回 defaultValue 参数的值)
|
||||
static int getInt(
|
||||
const String& key, /* 键值 */
|
||||
int defaultValue, /* 默认值 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
int getInt(
|
||||
int defaultValue /* 默认值 */
|
||||
);
|
||||
|
||||
// 获取 double 类型的值
|
||||
// (若不存在则返回 defaultValue 参数的值)
|
||||
static double getDouble(
|
||||
const String& key, /* 键值 */
|
||||
double defaultValue, /* 默认值 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
double getDouble(
|
||||
double defaultValue /* 默认值 */
|
||||
);
|
||||
|
||||
// 获取 bool 类型的值
|
||||
// (若不存在则返回 defaultValue 参数的值)
|
||||
static bool getBool(
|
||||
const String& key, /* 键值 */
|
||||
bool defaultValue, /* 默认值 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
bool getBool(
|
||||
bool defaultValue /* 默认值 */
|
||||
);
|
||||
|
||||
// 获取 字符串 类型的值
|
||||
// (若不存在则返回 defaultValue 参数的值)
|
||||
static String getString(
|
||||
const String& key, /* 键值 */
|
||||
const String& defaultValue, /* 默认值 */
|
||||
const String& field = L"Defalut" /* 字段名称 */
|
||||
String getString(
|
||||
const String& defaultValue /* 默认值 */
|
||||
);
|
||||
|
||||
protected:
|
||||
String _key;
|
||||
String _field;
|
||||
const String _dataPath;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue