判断节点是否碰撞及点是否在节点内时,不再判断其子节点

This commit is contained in:
Nomango 2018-04-22 17:08:41 +08:00
parent d6e2ca919b
commit 8439c09976
2 changed files with 5 additions and 21 deletions

View File

@ -1,7 +1,7 @@
#include "..\e2dnode.h"
#include "..\e2dmanager.h"
#define SAFE_SETTER(pointer, func, ...) if (pointer) { pointer->##func(__VA_ARGS__); }
#define SAFE_SET(pointer, func, ...) if (pointer) { pointer->##func(__VA_ARGS__); }
e2d::Button::Button()
@ -235,10 +235,10 @@ void e2d::Button::_setState(BTN_STATE state)
void e2d::Button::_updateVisiable()
{
SAFE_SETTER(m_pNormal, setVisiable, false);
SAFE_SETTER(m_pMouseover, setVisiable, false);
SAFE_SETTER(m_pSelected, setVisiable, false);
SAFE_SETTER(m_pDisabled, setVisiable, false);
SAFE_SET(m_pNormal, setVisiable, false);
SAFE_SET(m_pMouseover, setVisiable, false);
SAFE_SET(m_pSelected, setVisiable, false);
SAFE_SET(m_pDisabled, setVisiable, false);
if (m_bEnable)
{

View File

@ -948,11 +948,6 @@ bool e2d::Node::isPointIn(Point point) const
return true;
}
// 判断点是否在子节点内
FOR_LOOP(child, m_vChildren)
if (child->isPointIn(point))
return true;
return false;
}
@ -1009,17 +1004,6 @@ bool e2d::Node::isIntersectWith(const Node * pNode) const
}
}
// 判断和其子节点是否相交
FOR_LOOP(pNodeChild, pNode->m_vChildren)
if (this->isIntersectWith(pNodeChild))
return true;
// 判断子节点和其是否相交
FOR_LOOP(child, m_vChildren)
if (child->isIntersectWith(pNode))
return true;
// 都不相交,返回 false
return false;
}