22 #ifndef QDENGINE_QDCORE_QD_GAME_SCENE_H 23 #define QDENGINE_QDCORE_QD_GAME_SCENE_H 25 #include "qdengine/parser/xml_fwd.h" 26 #include "qdengine/qdcore/qd_camera.h" 27 #include "qdengine/qdcore/qd_conditional_object.h" 28 #include "qdengine/qdcore/qd_game_dispatcher_base.h" 29 #include "qdengine/qdcore/qd_object_map_container.h" 30 #include "qdengine/qdcore/qd_object_list_container.h" 31 #include "qdengine/qdcore/qd_file_owner.h" 32 #include "qdengine/qdcore/util/fps_counter.h" 33 #include "qdengine/system/input/mouse_input.h" 34 #include "qdengine/system/graphics/gr_screen_region.h" 53 return QD_NAMED_OBJECT_SCENE;
64 RESET_TRIGGERS_ON_LOAD = 0x04,
67 DISABLE_KEYBOARD_PERSONAGE_SWITCH = 0x08,
70 DISABLE_MAIN_MENU = 0x10
74 return _mouse_click_object;
77 _mouse_click_object = p;
81 return _mouse_right_click_object;
84 _mouse_right_click_object = p;
88 return _mouse_hover_object;
91 _mouse_hover_object = p;
94 const Vect2f mouse_click_pos()
const {
95 return _mouse_click_pos;
98 bool need_to_redraw_inventory(
const char *inventory_name)
const;
100 const char *minigame_name()
const {
101 return _minigame_name.c_str();
103 void set_minigame_name(
const char *name) {
104 _minigame_name = name;
106 bool has_minigame()
const {
107 return !_minigame_name.empty();
113 void start_minigame();
115 bool restart_minigame_on_load()
const {
116 return _restart_minigame_on_load;
118 void toggle_restart_minigame_on_load(
bool state) {
119 _restart_minigame_on_load = state;
124 bool remove_object(
const char *name);
127 bool is_object_in_list(
const char *name);
130 bool is_active()
const;
135 return _selected_object;
137 bool change_active_personage(
void);
142 bool rename_grid_zone(
qdGridZone *p,
const char *name);
143 bool remove_grid_zone(
const char *name);
146 bool is_grid_zone_in_list(
const char *name);
149 bool is_any_personage_in_zone(
const qdGridZone *p)
const;
152 bool rename_music_track(
qdMusicTrack *p,
const char *name);
153 bool remove_music_track(
const char *name);
156 bool is_music_track_in_list(
const char *name)
const;
159 void init_objects_grid();
160 void quant(
float dt);
179 void load_script(
const xml::tag *p);
187 int load_resources();
188 void free_resources();
193 const qdCamera *get_camera()
const {
198 return _objects.get_list();
201 return _grid_zones.get_list();
204 return _music_tracks.get_list();
210 int get_resources_size();
212 void inc_zone_update_count() {
213 _zone_update_count++;
215 uint32 zone_update_count()
const {
216 return _zone_update_count;
223 int autosave_slot()
const {
224 return _autosave_slot;
226 void set_autosave_slot(
int slot) {
227 _autosave_slot = slot;
230 bool has_interface_screen()
const {
231 return !_interface_screen_name.empty();
233 const char *interface_screen_name()
const {
234 return _interface_screen_name.c_str();
236 void set_interface_screen_name(
const char *name) {
237 _interface_screen_name = name;
244 personages_container_t *getPersonages() {
return &_personages; }
246 #ifdef __QD_DEBUG_ENABLE__ 247 bool get_resources_info(qdResourceInfoContainer &infos)
const;
267 bool _restart_minigame_on_load;
270 personages_container_t _personages;
288 uint32 _zone_update_count;
290 static char _fps_string[255];
292 bool init_visible_objects_list();
293 void update_mouse_cursor();
295 void personages_quant();
298 void follow_pers_init(
int follow_cond);
303 void follow_implement_update_path();
305 void follow_wakening();
308 void follow_circuit(
float dt);
310 void follow_end_moving();
312 void follow_quant(
float dt);
314 void collision_quant();
316 void create_minigame_objects();
321 #endif // QDENGINE_QDCORE_QD_GAME_SCENE_H Базовый класс для игровых объектов.
Definition: qd_game_object.h:53
Поименованный объект.
Definition: qd_named_object.h:70
Definition: fps_counter.h:27
int named_object_type() const
Возвращает тип объекта.
Definition: qd_game_scene.h:52
Definition: qd_file_owner.h:27
Зона на сетке сцены.
Definition: qd_grid_zone.h:42
Мини-игра.
Definition: qd_minigame.h:35
Сцена.
Definition: qd_game_scene.h:47
Definition: qd_object_list_container.h:32
Dynamic object.
Definition: qd_game_object_animated.h:37
Definition: qd_music_track.h:43
XML тег.
Definition: xml_tag.h:33
Базовый класс для игровых ресурсов.
Definition: console.h:28
Режим работы камеры.
Definition: qd_camera_mode.h:40
Definition: algorithm.h:29
Персонаж.
Definition: qd_game_object_moving.h:35
trigger_start_mode
Варианты старта триггера.
Definition: qd_conditional_object.h:122
mouseEvent
События.
Definition: mouse_input.h:41
Прямоугольная область на экране.
Definition: gr_screen_region.h:31
Definition: qd_camera.h:122
Definition: qd_object_map_container.h:33
Definition: qd_game_dispatcher_base.h:79