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