ParticleEntityAdditionalData.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (C) 2022 The V-Gears Team
  3. *
  4. * This file is part of V-Gears
  5. *
  6. * V-Gears is free software: you can redistribute it and/or modify it under
  7. * terms of the GNU General Public License as published by the Free Software
  8. * Foundation, version 3.0 (GPLv3) of the License.
  9. *
  10. * V-Gears is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. */
  15. #pragma once
  16. #include "../ParticleAdditionalData.h"
  17. /**
  18. * Additional data for a particle entity.
  19. */
  20. struct ParticleEntityAdditionalData : public ParticleAdditionalData{
  21. /**
  22. * Constructor.
  23. *
  24. * @param scene_node[in] The scene node.
  25. */
  26. ParticleEntityAdditionalData(Ogre::SceneNode* scene_node)
  27. : node(scene_node)
  28. {};
  29. /**
  30. * Toggles the particle entity visibility.
  31. *
  32. * @param visible[in] True to make the particle visible, false to make it
  33. * invisible.
  34. */
  35. void SetVisible(bool visible){
  36. if (node != NULL) node->setVisible(visible);
  37. }
  38. /**
  39. * The node that is the particle entity.
  40. */
  41. Ogre::SceneNode* node;
  42. };