MissionStarter.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "MissionStarter.h"
  2. MissionStarter::MissionStarter()
  3. {
  4. }
  5. MissionStarter::~MissionStarter()
  6. {
  7. }
  8. //Инициализировать объект
  9. bool MissionStarter::Create(MOPReader & reader)
  10. {
  11. trigger.Init(reader);
  12. return true;
  13. }
  14. //Вызываеться, когда все объекты созданны но ещё не началось исполнение миссии
  15. void MissionStarter::PostCreate()
  16. {
  17. if(!trigger.IsEmpty())
  18. {
  19. LogicDebug("First start process");
  20. trigger.Activate(Mission(), false);
  21. }
  22. }
  23. //Пересоздать объект
  24. void MissionStarter::Restart()
  25. {
  26. if(!trigger.IsEmpty())
  27. {
  28. LogicDebug("Set to restart process");
  29. SetUpdate(&MissionStarter::PostRestart, ML_SCENE_START + 1);
  30. }
  31. }
  32. //Отложенное срабатывание
  33. void _cdecl MissionStarter::PostRestart(float dltTime, long level)
  34. {
  35. DelUpdate(&MissionStarter::PostRestart);
  36. LogicDebug("Restart process");
  37. trigger.Activate(Mission(), false);
  38. }
  39. MOP_BEGINLISTCG(MissionStarter, "Mission starter", '1.00', 0x7ffffff, "Activate when all mission objects is created", "Logic")
  40. MOP_MISSIONTRIGGER("")
  41. MOP_ENDLIST(MissionStarter)