Made SceneNodes non-movable

Fixed SceneNodes copy constructor not parenting the right object


Former-commit-id: 21a08e3bb0931af426d97399dab86dda9acdf172
This commit is contained in:
Lynix
2015-01-17 00:15:01 +01:00
parent 6d3228477f
commit fdb722ef14
7 changed files with 25 additions and 58 deletions

View File

@@ -53,23 +53,9 @@ m_vertices(sprite.m_vertices),
m_boundingVolumeUpdated(sprite.m_boundingVolumeUpdated),
m_verticesUpdated(sprite.m_verticesUpdated)
{
SetParent(sprite);
SetParent(sprite.GetParent());
}
NzSprite::NzSprite(NzSprite&& sprite) :
NzSceneNode(sprite),
m_boundingVolume(sprite.m_boundingVolume),
m_material(std::move(sprite.m_material)),
m_textureCoords(sprite.m_textureCoords),
m_size(sprite.m_size),
m_vertices(sprite.m_vertices),
m_boundingVolumeUpdated(sprite.m_boundingVolumeUpdated),
m_verticesUpdated(sprite.m_verticesUpdated)
{
}
NzSprite::~NzSprite() = default;
void NzSprite::AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const
{
if (!m_verticesUpdated)
@@ -189,6 +175,22 @@ void NzSprite::SetTextureRect(const NzRectui& rect)
SetTextureCoords(NzRectf(invWidth*rect.x, invHeight*rect.y, invWidth*rect.width, invHeight*rect.height));
}
NzSprite& NzSprite::operator=(const NzSprite& sprite)
{
NzSceneNode::operator=(sprite);
m_color = sprite.m_color;
m_material = sprite.m_material;
m_textureCoords = sprite.m_textureCoords;
m_size = sprite.m_size;
// On ne copie pas les sommets finaux car il est très probable que nos paramètres soient modifiés et qu'ils doivent être régénérés de toute façon
m_boundingVolumeUpdated = false;
m_verticesUpdated = false;
return *this;
}
void NzSprite::InvalidateNode()
{
NzSceneNode::InvalidateNode();