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()
|
2018-07-10 00:30:17 +08:00
|
|
|
, _defaultNodePivot()
|
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-10 00:30:17 +08:00
|
|
|
, _defaultColliderShape(Collider::Shape::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)
|
|
|
|
|
{
|
2018-07-10 00:30:17 +08:00
|
|
|
_defaultNodePivot = Point(
|
2018-07-04 17:00:21 +08:00
|
|
|
std::min(std::max(pivot.x, 0.0), 1.0),
|
|
|
|
|
std::min(std::max(pivot.y, 0.0), 1.0)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-10 00:30:17 +08:00
|
|
|
void e2d::Config::setDefaultColliderShape(Collider::Shape shape)
|
2018-07-05 00:35:12 +08:00
|
|
|
{
|
2018-07-10 00:30:17 +08:00
|
|
|
_defaultColliderShape = shape;
|
2018-07-05 00:35:12 +08:00
|
|
|
}
|
|
|
|
|
|
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
|
|
|
|
|
{
|
2018-07-10 00:30:17 +08:00
|
|
|
return _defaultNodePivot;
|
2018-07-04 17:00:21 +08:00
|
|
|
}
|
2018-07-05 00:35:12 +08:00
|
|
|
|
2018-07-10 00:30:17 +08:00
|
|
|
e2d::Collider::Shape e2d::Config::getDefaultColliderShape() const
|
2018-07-05 00:35:12 +08:00
|
|
|
{
|
2018-07-10 00:30:17 +08:00
|
|
|
return _defaultColliderShape;
|
2018-07-05 00:35:12 +08:00
|
|
|
}
|
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
}
|