TaskPointer.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include "..\Utils\InterfaceUtils.h"
  2. class TaskPointer : public MissionObject
  3. {
  4. ShaderId Interface_TaskpointerPicture_id;
  5. ShaderId Interface_TaskpointerPictureMask_id;
  6. public:
  7. TaskPointer();
  8. virtual ~TaskPointer();
  9. //Инициализировать объект
  10. virtual bool Create(MOPReader & reader);
  11. //Инициализировать объект
  12. virtual bool EditMode_Create(MOPReader & reader);
  13. //Обновить параметры
  14. virtual bool EditMode_Update(MOPReader & reader);
  15. //Обработчик команд для объекта
  16. virtual void Command(const char * id, dword numParams, const char ** params);
  17. //Показать/скрыть объект
  18. virtual void Show(bool isShow);
  19. //Активировать
  20. virtual void Activate(bool isActive);
  21. #ifndef MIS_STOP_EDIT_FUNCS
  22. //Выделить объект
  23. virtual void EditMode_Select(bool isSelect);
  24. #endif
  25. //Нарисовать модельку
  26. virtual void _cdecl Draw(float dltTime, long level);
  27. //Пересоздать объект
  28. virtual void Restart()
  29. {
  30. ReCreate();
  31. };
  32. private:
  33. //Обновить указатель на объект
  34. bool UpdatePointer(const string &str, MOSafePointer &ptr);
  35. private:
  36. IBaseTexture * back;
  37. IBaseTexture * mask;
  38. IVariable * texVar;
  39. IGMXScene * scene;
  40. float w, h; //Относительные размеры
  41. float fov; //Прараметры камеры
  42. Matrix camera; //Положение камеры
  43. Matrix modelRot; //Ориентация модельки
  44. Vector modelPos; //Комбинированная позиция модельки
  45. string observerId; //Исполнитель
  46. MOSafePointer observer; //Указатель
  47. string targetId; //Место назначения
  48. MOSafePointer target; //Указатель
  49. Quaternion current; //Текущее направление
  50. float showPosition; //Позиция для показа
  51. static Vector4 vertices[4]; //Вершины для рендера картинок
  52. long drawPriority; //порядок отрисовки ML_GUI# + drawPriority
  53. public:
  54. static const char * comment;
  55. };