| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | #include "..\e2dbase.h"
 | 
					
						
							| 
									
										
										
										
											2018-07-05 01:35:50 +08:00
										 |  |  | #include "..\e2dtool.h"
 | 
					
						
							| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | e2d::Config::Config() | 
					
						
							|  |  |  | 	: _gameName() | 
					
						
							|  |  |  | 	, _nodeDefPivot() | 
					
						
							| 
									
										
										
										
											2018-07-05 01:35:50 +08:00
										 |  |  | 	, _soundEnabled(true) | 
					
						
							| 
									
										
										
										
											2018-07-07 18:04:18 +08:00
										 |  |  | 	, _outlineVisible(false) | 
					
						
							| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | 	, _collisionEnabled(false) | 
					
						
							| 
									
										
										
										
											2018-07-07 01:48:39 +08:00
										 |  |  | 	, _colliderVisible(false) | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | 	, _nodeDefColliderType(Collider::Type::None) | 
					
						
							| 
									
										
										
										
											2018-07-05 01:35:50 +08:00
										 |  |  | 	, _unconfigured(true) | 
					
						
							| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | e2d::Config::~Config() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void e2d::Config::setGameName(const String & name) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	_gameName = name; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-07 18:04:18 +08:00
										 |  |  | void e2d::Config::setOutlineVisible(bool visible) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	_outlineVisible = visible; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-05 01:35:50 +08:00
										 |  |  | void e2d::Config::setSoundEnabled(bool enabled) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (_soundEnabled != enabled) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		_soundEnabled = enabled; | 
					
						
							|  |  |  | 		_unconfigured = true; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | void e2d::Config::setCollisionEnabled(bool enabled) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	_collisionEnabled = enabled; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void e2d::Config::setNodeDefaultPivot(Point pivot) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	_nodeDefPivot = Point( | 
					
						
							|  |  |  | 		std::min(std::max(pivot.x, 0.0), 1.0), | 
					
						
							|  |  |  | 		std::min(std::max(pivot.y, 0.0), 1.0) | 
					
						
							|  |  |  | 	); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | void e2d::Config::setDefaultColliderType(Collider::Type type) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	_nodeDefColliderType = type; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-07 01:48:39 +08:00
										 |  |  | void e2d::Config::setColliderVisible(bool visible) | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2018-07-07 01:48:39 +08:00
										 |  |  | 	_colliderVisible = visible; | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | e2d::String e2d::Config::getGameName() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _gameName; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-05 01:35:50 +08:00
										 |  |  | bool e2d::Config::isSoundEnabled() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _soundEnabled; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-07 18:04:18 +08:00
										 |  |  | bool e2d::Config::isOutlineVisible() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _outlineVisible; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-04 17:00:21 +08:00
										 |  |  | bool e2d::Config::isCollisionEnabled() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _collisionEnabled; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | e2d::Point e2d::Config::getNodeDefaultPivot() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _nodeDefPivot; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | e2d::Collider::Type e2d::Config::getDefaultColliderType() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _nodeDefColliderType; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-07 01:48:39 +08:00
										 |  |  | bool e2d::Config::isColliderVisible() const | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2018-07-07 01:48:39 +08:00
										 |  |  | 	return _colliderVisible; | 
					
						
							| 
									
										
										
										
											2018-07-05 00:35:12 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2018-07-05 01:35:50 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | void e2d::Config::_update() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	_unconfigured = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if (_soundEnabled) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		Player::getInstance()->getXAudio2()->StartEngine(); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	else | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		Player::getInstance()->getXAudio2()->StopEngine(); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |