ParticleSystemTranslatorManager.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include "core/particles/ParticleSystemTranslatorManager.h"
  2. #include <OgreLogManager.h>
  3. //------------------------------------------------------------------------------
  4. size_t
  5. ParticleSystemTranslatorManager::getNumTranslators() const
  6. {
  7. return 1;
  8. }
  9. //------------------------------------------------------------------------------
  10. Ogre::ScriptTranslator*
  11. ParticleSystemTranslatorManager::getTranslator(const Ogre::AbstractNodePtr &node)
  12. {
  13. Ogre::ScriptTranslator* translator = nullptr;
  14. if (node->type == Ogre::ANT_OBJECT)
  15. {
  16. Ogre::ObjectAbstractNode* obj = reinterpret_cast<Ogre::ObjectAbstractNode*>(node.get());
  17. if (obj->cls == "effect")
  18. {
  19. Ogre::LogManager::getSingletonPtr()->logMessage("Found object 'effect'.");
  20. translator = &m_ParticleSystemTranslator;
  21. }
  22. else if (obj->cls == "group")
  23. {
  24. Ogre::LogManager::getSingletonPtr()->logMessage("Found object 'technique'.");
  25. translator = &m_TechniqueTranslator;
  26. }
  27. else if (obj->cls == "renderer")
  28. {
  29. Ogre::LogManager::getSingletonPtr()->logMessage("Found object 'renderer'.");
  30. translator = &m_RendererTranslator;
  31. }
  32. else if (obj->cls == "emitter")
  33. {
  34. Ogre::LogManager::getSingletonPtr()->logMessage("Found object 'emitter'.");
  35. translator = &m_EmitterTranslator;
  36. }
  37. }
  38. return translator;
  39. }
  40. //------------------------------------------------------------------------------