fixed bugs
This commit is contained in:
parent
cddfd5b5cd
commit
a1ba470e94
|
|
@ -1,6 +1,6 @@
|
||||||
#include "..\eactions.h"
|
#include "..\eactions.h"
|
||||||
|
|
||||||
e2d::ActionCallback::ActionCallback(const VoidFunction& callback) :
|
e2d::ActionCallback::ActionCallback(VoidFunction callback) :
|
||||||
m_Callback(callback)
|
m_Callback(callback)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -152,15 +152,17 @@ void e2d::SceneManager::__render()
|
||||||
|
|
||||||
bool e2d::SceneManager::__init()
|
bool e2d::SceneManager::__init()
|
||||||
{
|
{
|
||||||
if (!s_pNextScene)
|
// 若游戏初始化时场景不为空,进入该场景
|
||||||
|
if (s_pNextScene)
|
||||||
{
|
{
|
||||||
s_pNextScene = new Scene();
|
s_pCurrentScene = s_pNextScene;
|
||||||
s_pNextScene->retain();
|
s_pCurrentScene->onEnter();
|
||||||
|
s_pNextScene = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
s_pCurrentScene = s_pNextScene;
|
// 更新场景内容
|
||||||
s_pCurrentScene->onEnter();
|
SceneManager::__update();
|
||||||
s_pNextScene = nullptr;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
|
|
||||||
e2d::Button::Button()
|
e2d::Button::Button()
|
||||||
: m_Callback((const ButtonCallback &)nullptr)
|
: m_Callback(nullptr)
|
||||||
, m_eBtnState(Button::NORMAL)
|
, m_eBtnState(Button::NORMAL)
|
||||||
, m_bEnable(true)
|
, m_bEnable(true)
|
||||||
, m_bIsSelected(false)
|
, m_bIsSelected(false)
|
||||||
|
|
@ -16,8 +16,8 @@ e2d::Button::Button()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Button::Button(Node * normal, const ButtonCallback & callback)
|
e2d::Button::Button(Node * normal, ButtonCallback callback)
|
||||||
: m_Callback((const ButtonCallback &)nullptr)
|
: m_Callback(nullptr)
|
||||||
, m_eBtnState(Button::NORMAL)
|
, m_eBtnState(Button::NORMAL)
|
||||||
, m_bEnable(true)
|
, m_bEnable(true)
|
||||||
, m_bIsSelected(false)
|
, m_bIsSelected(false)
|
||||||
|
|
@ -30,8 +30,8 @@ e2d::Button::Button(Node * normal, const ButtonCallback & callback)
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Button::Button(Node * normal, Node * selected, const ButtonCallback & callback)
|
e2d::Button::Button(Node * normal, Node * selected, ButtonCallback callback)
|
||||||
: m_Callback((const ButtonCallback &)nullptr)
|
: m_Callback(nullptr)
|
||||||
, m_eBtnState(Button::NORMAL)
|
, m_eBtnState(Button::NORMAL)
|
||||||
, m_bEnable(true)
|
, m_bEnable(true)
|
||||||
, m_bIsSelected(false)
|
, m_bIsSelected(false)
|
||||||
|
|
@ -45,8 +45,8 @@ e2d::Button::Button(Node * normal, Node * selected, const ButtonCallback & callb
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, const ButtonCallback & callback)
|
e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, ButtonCallback callback)
|
||||||
: m_Callback((const ButtonCallback &)nullptr)
|
: m_Callback(nullptr)
|
||||||
, m_eBtnState(Button::NORMAL)
|
, m_eBtnState(Button::NORMAL)
|
||||||
, m_bEnable(true)
|
, m_bEnable(true)
|
||||||
, m_bIsSelected(false)
|
, m_bIsSelected(false)
|
||||||
|
|
@ -61,8 +61,8 @@ e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, const Butt
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, Node * disabled, const ButtonCallback & callback)
|
e2d::Button::Button(Node * normal, Node * mouseover, Node * selected, Node * disabled, ButtonCallback callback)
|
||||||
: m_Callback((const ButtonCallback &)nullptr)
|
: m_Callback(nullptr)
|
||||||
, m_eBtnState(Button::NORMAL)
|
, m_eBtnState(Button::NORMAL)
|
||||||
, m_bEnable(true)
|
, m_bEnable(true)
|
||||||
, m_bIsSelected(false)
|
, m_bIsSelected(false)
|
||||||
|
|
@ -170,7 +170,7 @@ void e2d::Button::setEnable(bool bEnable)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void e2d::Button::setCallback(const ButtonCallback & callback)
|
void e2d::Button::setCallback(ButtonCallback callback)
|
||||||
{
|
{
|
||||||
WARN_IF(m_pNormal == nullptr, "Button cannot work without anything to show. Please set its normal displayed.");
|
WARN_IF(m_pNormal == nullptr, "Button cannot work without anything to show. Please set its normal displayed.");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ e2d::ButtonToggle::ButtonToggle()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, const ButtonCallback & callback)
|
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, ButtonCallback callback)
|
||||||
: Button()
|
: Button()
|
||||||
, m_bState(true)
|
, m_bState(true)
|
||||||
, m_pNormalOn(nullptr)
|
, m_pNormalOn(nullptr)
|
||||||
|
|
@ -31,7 +31,7 @@ e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, c
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnSelected, Node * toggleOffSelected, const ButtonCallback & callback)
|
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnSelected, Node * toggleOffSelected, ButtonCallback callback)
|
||||||
: Button()
|
: Button()
|
||||||
, m_bState(true)
|
, m_bState(true)
|
||||||
, m_pNormalOn(nullptr)
|
, m_pNormalOn(nullptr)
|
||||||
|
|
@ -50,7 +50,7 @@ e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, N
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, const ButtonCallback & callback)
|
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, ButtonCallback callback)
|
||||||
: Button()
|
: Button()
|
||||||
, m_bState(true)
|
, m_bState(true)
|
||||||
, m_pNormalOn(nullptr)
|
, m_pNormalOn(nullptr)
|
||||||
|
|
@ -71,7 +71,7 @@ e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, N
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, Node * toggleOnDisabled, Node * toggleOffDisabled, const ButtonCallback & callback)
|
e2d::ButtonToggle::ButtonToggle(Node * toggleOnNormal, Node * toggleOffNormal, Node * toggleOnMouseOver, Node * toggleOffMouseOver, Node * toggleOnSelected, Node * toggleOffSelected, Node * toggleOnDisabled, Node * toggleOffDisabled, ButtonCallback callback)
|
||||||
: Button()
|
: Button()
|
||||||
, m_bState(true)
|
, m_bState(true)
|
||||||
, m_pNormalOn(nullptr)
|
, m_pNormalOn(nullptr)
|
||||||
|
|
|
||||||
|
|
@ -11,12 +11,12 @@ e2d::Timer::Timer()
|
||||||
, m_nUpdateTimes(-1)
|
, m_nUpdateTimes(-1)
|
||||||
, m_bAtOnce(false)
|
, m_bAtOnce(false)
|
||||||
, m_bAutoRelease(false)
|
, m_bAutoRelease(false)
|
||||||
, m_bClear(false)
|
, m_bClear(true)
|
||||||
{
|
{
|
||||||
TimerManager::__add(this);
|
TimerManager::__add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */)
|
e2d::Timer::Timer(TimerCallback callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */)
|
||||||
: m_bRunning(false)
|
: m_bRunning(false)
|
||||||
, m_nRunTimes(0)
|
, m_nRunTimes(0)
|
||||||
, m_Callback(nullptr)
|
, m_Callback(nullptr)
|
||||||
|
|
@ -25,7 +25,7 @@ e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int
|
||||||
, m_nUpdateTimes(-1)
|
, m_nUpdateTimes(-1)
|
||||||
, m_bAtOnce(false)
|
, m_bAtOnce(false)
|
||||||
, m_bAutoRelease(false)
|
, m_bAutoRelease(false)
|
||||||
, m_bClear(false)
|
, m_bClear(true)
|
||||||
{
|
{
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
this->setUpdateTimes(updateTimes);
|
this->setUpdateTimes(updateTimes);
|
||||||
|
|
@ -35,7 +35,7 @@ e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int
|
||||||
TimerManager::__add(this);
|
TimerManager::__add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Timer::Timer(const String & name, const TimerCallback & callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */)
|
e2d::Timer::Timer(const String & name, TimerCallback callback, double interval /* = 0 */, int updateTimes /* = -1 */, bool atOnce /* = false */, bool autoRelease /* = false */)
|
||||||
: m_bRunning(false)
|
: m_bRunning(false)
|
||||||
, m_nRunTimes(0)
|
, m_nRunTimes(0)
|
||||||
, m_Callback(nullptr)
|
, m_Callback(nullptr)
|
||||||
|
|
@ -44,7 +44,7 @@ e2d::Timer::Timer(const String & name, const TimerCallback & callback, double in
|
||||||
, m_nUpdateTimes(-1)
|
, m_nUpdateTimes(-1)
|
||||||
, m_bAtOnce(false)
|
, m_bAtOnce(false)
|
||||||
, m_bAutoRelease(false)
|
, m_bAutoRelease(false)
|
||||||
, m_bClear(false)
|
, m_bClear(true)
|
||||||
{
|
{
|
||||||
this->setName(name);
|
this->setName(name);
|
||||||
this->setCallback(callback);
|
this->setCallback(callback);
|
||||||
|
|
@ -92,7 +92,7 @@ void e2d::Timer::setInterval(double interval)
|
||||||
m_fInterval = max(interval, 0);
|
m_fInterval = max(interval, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void e2d::Timer::setCallback(const TimerCallback & callback)
|
void e2d::Timer::setCallback(TimerCallback callback)
|
||||||
{
|
{
|
||||||
m_Callback = callback;
|
m_Callback = callback;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -553,7 +553,7 @@ class ActionCallback :
|
||||||
public:
|
public:
|
||||||
// 创建执行回调函数的动作
|
// 创建执行回调函数的动作
|
||||||
ActionCallback(
|
ActionCallback(
|
||||||
const VoidFunction & callback /* 回调函数 */
|
VoidFunction callback /* 回调函数 */
|
||||||
);
|
);
|
||||||
|
|
||||||
// 获取该动作的拷贝对象
|
// 获取该动作的拷贝对象
|
||||||
|
|
|
||||||
|
|
@ -584,14 +584,14 @@ public:
|
||||||
// 创建按钮
|
// 创建按钮
|
||||||
Button(
|
Button(
|
||||||
Node * normal, /* 普通状态 */
|
Node * normal, /* 普通状态 */
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 创建按钮
|
// 创建按钮
|
||||||
Button(
|
Button(
|
||||||
Node * normal, /* 普通状态 */
|
Node * normal, /* 普通状态 */
|
||||||
Node * selected, /* 鼠标按下状态 */
|
Node * selected, /* 鼠标按下状态 */
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 创建按钮
|
// 创建按钮
|
||||||
|
|
@ -599,7 +599,7 @@ public:
|
||||||
Node * normal, /* 普通状态 */
|
Node * normal, /* 普通状态 */
|
||||||
Node * mouseover, /* 鼠标移入状态 */
|
Node * mouseover, /* 鼠标移入状态 */
|
||||||
Node * selected, /* 鼠标按下状态 */
|
Node * selected, /* 鼠标按下状态 */
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 创建按钮
|
// 创建按钮
|
||||||
|
|
@ -608,7 +608,7 @@ public:
|
||||||
Node * mouseover, /* 鼠标移入状态 */
|
Node * mouseover, /* 鼠标移入状态 */
|
||||||
Node * selected, /* 鼠标移入状态 */
|
Node * selected, /* 鼠标移入状态 */
|
||||||
Node * disabled, /* 按钮禁用状态 */
|
Node * disabled, /* 按钮禁用状态 */
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 获取按钮状态是启用还是禁用
|
// 获取按钮状态是启用还是禁用
|
||||||
|
|
@ -641,7 +641,7 @@ public:
|
||||||
|
|
||||||
// 设置回调函数
|
// 设置回调函数
|
||||||
void setCallback(
|
void setCallback(
|
||||||
const ButtonCallback & callback
|
ButtonCallback callback
|
||||||
);
|
);
|
||||||
|
|
||||||
// 更新按钮状态
|
// 更新按钮状态
|
||||||
|
|
@ -682,7 +682,7 @@ public:
|
||||||
ButtonToggle(
|
ButtonToggle(
|
||||||
Node * onNormal,
|
Node * onNormal,
|
||||||
Node * offNormal,
|
Node * offNormal,
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 创建开关按钮
|
// 创建开关按钮
|
||||||
|
|
@ -691,7 +691,7 @@ public:
|
||||||
Node * offNormal,
|
Node * offNormal,
|
||||||
Node * onSelected,
|
Node * onSelected,
|
||||||
Node * offSelected,
|
Node * offSelected,
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 创建开关按钮
|
// 创建开关按钮
|
||||||
|
|
@ -702,7 +702,7 @@ public:
|
||||||
Node * offMouseOver,
|
Node * offMouseOver,
|
||||||
Node * onSelected,
|
Node * onSelected,
|
||||||
Node * offSelected,
|
Node * offSelected,
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 创建开关按钮
|
// 创建开关按钮
|
||||||
|
|
@ -715,7 +715,7 @@ public:
|
||||||
Node * offSelected,
|
Node * offSelected,
|
||||||
Node * onDisabled,
|
Node * onDisabled,
|
||||||
Node * offDisabled,
|
Node * offDisabled,
|
||||||
const ButtonCallback & callback = nullptr
|
ButtonCallback callback = nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
// 获取开关状态(打开或关闭)
|
// 获取开关状态(打开或关闭)
|
||||||
|
|
|
||||||
|
|
@ -50,20 +50,20 @@ public:
|
||||||
Timer();
|
Timer();
|
||||||
|
|
||||||
Timer(
|
Timer(
|
||||||
const TimerCallback &callback, /* 定时器回调函数 */
|
TimerCallback callback, /* 定时器回调函数 */
|
||||||
double interval = 0, /* 时间间隔(秒) */
|
double interval = 0, /* 时间间隔(秒) */
|
||||||
int times = -1, /* 执行次数(设 -1 为永久执行) */
|
int times = -1, /* 执行次数(设 -1 为永久执行) */
|
||||||
bool atOnce = false, /* 是否立即执行 */
|
bool atOnce = false, /* 是否立即执行 */
|
||||||
bool autoRelease = false /* 自动清除 */
|
bool autoRelease = false /* 自动清除 */
|
||||||
);
|
);
|
||||||
|
|
||||||
Timer(
|
Timer(
|
||||||
const String &name, /* 定时器名称 */
|
const String &name, /* 定时器名称 */
|
||||||
const TimerCallback &callback = nullptr, /* 定时器回调函数 */
|
TimerCallback callback = nullptr, /* 定时器回调函数 */
|
||||||
double interval = 0, /* 时间间隔(秒) */
|
double interval = 0, /* 时间间隔(秒) */
|
||||||
int times = -1, /* 执行次数(设 -1 为永久执行) */
|
int times = -1, /* 执行次数(设 -1 为永久执行) */
|
||||||
bool atOnce = false, /* 是否立即执行 */
|
bool atOnce = false, /* 是否立即执行 */
|
||||||
bool autoRelease = false /* 自动清除 */
|
bool autoRelease = false /* 自动清除 */
|
||||||
);
|
);
|
||||||
|
|
||||||
// 启动定时器
|
// 启动定时器
|
||||||
|
|
@ -99,7 +99,7 @@ public:
|
||||||
|
|
||||||
// 设置定时器回调函数
|
// 设置定时器回调函数
|
||||||
void setCallback(
|
void setCallback(
|
||||||
const TimerCallback & callback
|
TimerCallback callback
|
||||||
);
|
);
|
||||||
|
|
||||||
// 设置定时器执行次数
|
// 设置定时器执行次数
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue