ManaPlus
particlecontainer.cpp
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2008-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
25 
26 #include "utils/delete2.h"
27 
28 #include "debug.h"
29 
31  const bool delParent) :
32  mNext(parent),
33  mDelParent(delParent)
34 {
35 }
36 
38 {
39  // +++ call virtul method in destructor
40  clearLocally();
41  if (mDelParent)
42  delete2(mNext)
43 }
44 
46 {
47  clearLocally();
48  if (mNext != nullptr)
49  mNext->clear();
50 }
51 
52 void ParticleContainer::moveTo(const float x, const float y)
53 {
54  if (mNext != nullptr)
55  mNext->moveTo(x, y);
56 }
ParticleContainer(ParticleContainer *const parent, const bool delParent)
virtual void moveTo(const float x, const float y)
ParticleContainer * mNext
virtual void clearLocally()
#define delete2(var)
Definition: delete2.h:25