浏览代码

Merge branch 'gui' of GooseHouse/game-client into dev

Ivan Arkhipov 6 年之前
父节点
当前提交
e12142dc3b
共有 100 个文件被更改,包括 160 次插入111 次删除
  1. 11 12
      README.md
  2. 二进制
      assets/common/ImprobableGivingAlbertosaurus.gif
  3. 二进制
      assets/common/background.jpg
  4. 二进制
      assets/common/book.png
  5. 二进制
      assets/common/buttons/about_us_button.png
  6. 二进制
      assets/common/buttons/about_us_button_hover.png
  7. 二进制
      assets/common/buttons/back_button.png
  8. 二进制
      assets/common/buttons/back_button_hover.png
  9. 二进制
      assets/common/buttons/button_click.mp3
  10. 二进制
      assets/common/buttons/button_hover.mp3
  11. 二进制
      assets/common/buttons/complete_choice_button.png
  12. 二进制
      assets/common/buttons/complete_choice_button_hover.png
  13. 二进制
      assets/common/buttons/continue_button.png
  14. 二进制
      assets/common/buttons/continue_button_hover.png
  15. 二进制
      assets/common/buttons/hotseat_button.png
  16. 二进制
      assets/common/buttons/hotseat_button_hover.png
  17. 二进制
      assets/common/buttons/leave_game_button.png
  18. 二进制
      assets/common/buttons/leave_game_button_hover.png
  19. 二进制
      assets/common/buttons/settings_button.png
  20. 二进制
      assets/common/buttons/settings_button_hover.png
  21. 二进制
      assets/common/cursors/click.gif
  22. 二进制
      assets/common/cursors/simple.gif
  23. 二进制
      assets/common/dwarf_adventurer_by_vertibirdo-d9dr1c0.gif
  24. 0 0
      assets/common/fonts/barocco-initial.ttf
  25. 二进制
      assets/common/fonts/pixel.otf
  26. 0 0
      assets/common/fonts/viking-cyr.ttf
  27. 二进制
      assets/common/logo.png
  28. 二进制
      assets/common/team_logo.jpg
  29. 二进制
      assets/common/town.jpg
  30. 0 0
      assets/common/unittrees/README.md
  31. 0 0
      assets/common/unittrees/human-archer.png
  32. 0 0
      assets/common/unittrees/human-mage.png
  33. 0 0
      assets/common/unittrees/human-rider.png
  34. 0 0
      assets/common/unittrees/human-rogue.png
  35. 0 0
      assets/common/unittrees/human-warrior.png
  36. 0 0
      assets/common/window/README.md
  37. 二进制
      assets/common/window/button1.png
  38. 二进制
      assets/common/window/button2.png
  39. 二进制
      assets/common/window/frame.png
  40. 二进制
      assets/common/window/opaque-border-botleft.png
  41. 0 0
      assets/common/window/opaque-border-botright.png
  42. 二进制
      assets/common/window/opaque-border-bottom.png
  43. 二进制
      assets/common/window/opaque-border-left.png
  44. 二进制
      assets/common/window/opaque-border-right.png
  45. 二进制
      assets/common/window/opaque-border-top.png
  46. 二进制
      assets/common/window/opaque-border-topleft.png
  47. 二进制
      assets/common/window/opaque-border-topright.png
  48. 0 0
      assets/common/window/strong_translucent-background.png
  49. 0 0
      assets/common/window/strong_translucent-border-botleft.png
  50. 0 0
      assets/common/window/strong_translucent-border-botright.png
  51. 0 0
      assets/common/window/strong_translucent-border-left.png
  52. 0 0
      assets/common/window/strong_translucent-border-right.png
  53. 0 0
      assets/common/window/strong_translucent-border-top.png
  54. 0 0
      assets/common/window/strong_translucent-border-topleft.png
  55. 0 0
      assets/common/window/strong_translucent-border-topright.png
  56. 0 0
      assets/common/window/strong_translucent-border_bottom.png
  57. 0 0
      assets/common/window/thick_opaque-background.png
  58. 0 0
      assets/common/window/thick_opaque-border-botleft.png
  59. 0 0
      assets/common/window/thick_opaque-border-botright.png
  60. 0 0
      assets/common/window/thick_opaque-border-bottom.png
  61. 0 0
      assets/common/window/thick_opaque-border-left.png
  62. 0 0
      assets/common/window/thick_opaque-border-right.png
  63. 0 0
      assets/common/window/thick_opaque-border-top.png
  64. 0 0
      assets/common/window/thick_opaque-border-topleft.png
  65. 0 0
      assets/common/window/thick_opaque-border-topright.png
  66. 二进制
      assets/hotseat_intro/image.gif
  67. 二进制
      assets/hotseat_intro/image.psd
  68. 0 0
      assets/hotseat_recruit/README.md
  69. 二进制
      assets/hotseat_recruit/icon_closed.png
  70. 二进制
      assets/hotseat_recruit/image.gif
  71. 二进制
      assets/hotseat_recruit/unit_icon_active.png
  72. 二进制
      assets/hotseat_recruit/unit_icon_default.png
  73. 二进制
      assets/hotseat_recruit/unit_icon_hover.png
  74. 二进制
      assets/hotseat_recruit/unknown.png
  75. 二进制
      assets/loading_form/icon_loading.gif
  76. 二进制
      assets/main_menu/background.png
  77. 二进制
      assets/main_menu/logo.png
  78. 二进制
      assets/main_menu/main_menu_music_1.mp3
  79. 二进制
      assets/main_menu/main_menu_music_1.ogg
  80. 二进制
      assets/main_menu/sorcerer.gif
  81. 二进制
      assets/main_menu/tree-assets/tree.gif
  82. 二进制
      assets/main_menu/tree.gif
  83. 二进制
      assets/main_menu/tree.psd
  84. 0 2
      assets/pvp_intro/README.md
  85. 二进制
      assets/pvp_intro/picture.jpg
  86. 二进制
      assets/pvp_intro/pre-battle1.jpg
  87. 二进制
      assets/recruitscene/divider.png
  88. 1 2
      assets/units/races.txt
  89. 1 1
      assets/units/undead/racename.txt
  90. 二进制
      assets/window/opaque-border-botleft.png
  91. 二进制
      assets/window/opaque-border-bottom.png
  92. 二进制
      assets/window/opaque-border-left.png
  93. 二进制
      assets/window/opaque-border-right.png
  94. 二进制
      assets/window/opaque-border-top.png
  95. 二进制
      assets/window/opaque-border-topleft.png
  96. 二进制
      assets/window/opaque-border-topright.png
  97. 141 89
      client.pro
  98. 5 4
      include/abstractfactory.h
  99. 1 1
      include/effects/melledamage.h
  100. 0 0
      include/effects/selfheal.h

+ 11 - 12
README.md

@@ -38,20 +38,19 @@ dpkg -i ./goosehouse-game.deb
 ```
 
 
-## Ветки развития юнитов расы людей:
+## Структура папок проекта:
 
-### Ветка Лучника
-![image](http://git.gi1dor.ru/GooseHouse/game-client/raw/master/assets/unittrees/human-archer.png)
+#### Папка *assets* : 
+В этой папке содержатся все графические файлы, связанные с проектом. Часть из них (версии для деплоя) собираются в специальные файлы ресурсов для каждой сцены, которые загружаются вместе со сценой.
 
-### Ветка Мага
-![image](http://git.gi1dor.ru/GooseHouse/game-client/raw/master/assets/unittrees/human-mage.png)
+#### Папка *include* :
+Эта папка содержит в себе все .h файлы приложения - все интерфейсы классов приложения (исключения - .h файлы, связанные с .ui сценами, они хранятся вместе с этими сценами)
 
-### Ветка Всадника
-![image](http://git.gi1dor.ru/GooseHouse/game-client/raw/master/assets/unittrees/human-rider.png)
+#### Папка *source* :
+Здесь находятся все файлы реализации классов приложения, кроме тех, что завязаны на .ui файлах (аналогично с .h файлами, последние хранятся вместе с .ui сценами)
 
-### Ветка Изгоя
-![image](http://git.gi1dor.ru/GooseHouse/game-client/raw/master/assets/unittrees/human-rogue.png)
-
-### Ветка Воина 
-![image](http://git.gi1dor.ru/GooseHouse/game-client/raw/master/assets/unittrees/human-warrior.png)
+#### Папка *ui* : 
+В папке ui размещены все файлы графических сцен проекта. Каждая сцена состоит из 3-х файлов - .ui, .cpp и .h. Одна логическая сцена (главное меню, к примеру), может состоять из нескольких физических, которые накладываются друг на друга (сцена анимированного фона, сцена меню, расположенного по центру)
 
+#### Папка *res* :
+В ней находятся специальные файлы .qrc, содержащие информацию о тех файлах из */аssets*, которые будут собраны в файл ресурсов.

二进制
assets/common/ImprobableGivingAlbertosaurus.gif


二进制
assets/common/background.jpg


二进制
assets/common/book.png


二进制
assets/common/buttons/about_us_button.png


二进制
assets/common/buttons/about_us_button_hover.png


二进制
assets/common/buttons/back_button.png


二进制
assets/common/buttons/back_button_hover.png


二进制
assets/common/buttons/button_click.mp3


二进制
assets/common/buttons/button_hover.mp3


二进制
assets/common/buttons/complete_choice_button.png


二进制
assets/common/buttons/complete_choice_button_hover.png


二进制
assets/common/buttons/continue_button.png


二进制
assets/common/buttons/continue_button_hover.png


二进制
assets/common/buttons/hotseat_button.png


二进制
assets/common/buttons/hotseat_button_hover.png


二进制
assets/common/buttons/leave_game_button.png


二进制
assets/common/buttons/leave_game_button_hover.png


二进制
assets/common/buttons/settings_button.png


二进制
assets/common/buttons/settings_button_hover.png


二进制
assets/common/cursors/click.gif


二进制
assets/common/cursors/simple.gif


二进制
assets/common/dwarf_adventurer_by_vertibirdo-d9dr1c0.gif


+ 0 - 0
assets/fonts/barocco-initial.ttf → assets/common/fonts/barocco-initial.ttf


二进制
assets/common/fonts/pixel.otf


+ 0 - 0
assets/fonts/viking-cyr.ttf → assets/common/fonts/viking-cyr.ttf


二进制
assets/common/logo.png


二进制
assets/common/team_logo.jpg


二进制
assets/common/town.jpg


+ 0 - 0
assets/unittrees/README.md → assets/common/unittrees/README.md


+ 0 - 0
assets/unittrees/human-archer.png → assets/common/unittrees/human-archer.png


+ 0 - 0
assets/unittrees/human-mage.png → assets/common/unittrees/human-mage.png


+ 0 - 0
assets/unittrees/human-rider.png → assets/common/unittrees/human-rider.png


+ 0 - 0
assets/unittrees/human-rogue.png → assets/common/unittrees/human-rogue.png


+ 0 - 0
assets/unittrees/human-warrior.png → assets/common/unittrees/human-warrior.png


+ 0 - 0
assets/window/README.md → assets/common/window/README.md


二进制
assets/common/window/button1.png


二进制
assets/common/window/button2.png


二进制
assets/common/window/frame.png


二进制
assets/common/window/opaque-border-botleft.png


+ 0 - 0
assets/window/opaque-border-botright.png → assets/common/window/opaque-border-botright.png


二进制
assets/common/window/opaque-border-bottom.png


二进制
assets/common/window/opaque-border-left.png


二进制
assets/common/window/opaque-border-right.png


二进制
assets/common/window/opaque-border-top.png


二进制
assets/common/window/opaque-border-topleft.png


二进制
assets/common/window/opaque-border-topright.png


+ 0 - 0
assets/window/strong_translucent-background.png → assets/common/window/strong_translucent-background.png


+ 0 - 0
assets/window/strong_translucent-border-botleft.png → assets/common/window/strong_translucent-border-botleft.png


+ 0 - 0
assets/window/strong_translucent-border-botright.png → assets/common/window/strong_translucent-border-botright.png


+ 0 - 0
assets/window/strong_translucent-border-left.png → assets/common/window/strong_translucent-border-left.png


+ 0 - 0
assets/window/strong_translucent-border-right.png → assets/common/window/strong_translucent-border-right.png


+ 0 - 0
assets/window/strong_translucent-border-top.png → assets/common/window/strong_translucent-border-top.png


+ 0 - 0
assets/window/strong_translucent-border-topleft.png → assets/common/window/strong_translucent-border-topleft.png


+ 0 - 0
assets/window/strong_translucent-border-topright.png → assets/common/window/strong_translucent-border-topright.png


+ 0 - 0
assets/window/strong_translucent-border_bottom.png → assets/common/window/strong_translucent-border_bottom.png


+ 0 - 0
assets/window/thick_opaque-background.png → assets/common/window/thick_opaque-background.png


+ 0 - 0
assets/window/thick_opaque-border-botleft.png → assets/common/window/thick_opaque-border-botleft.png


+ 0 - 0
assets/window/thick_opaque-border-botright.png → assets/common/window/thick_opaque-border-botright.png


+ 0 - 0
assets/window/thick_opaque-border-bottom.png → assets/common/window/thick_opaque-border-bottom.png


+ 0 - 0
assets/window/thick_opaque-border-left.png → assets/common/window/thick_opaque-border-left.png


+ 0 - 0
assets/window/thick_opaque-border-right.png → assets/common/window/thick_opaque-border-right.png


+ 0 - 0
assets/window/thick_opaque-border-top.png → assets/common/window/thick_opaque-border-top.png


+ 0 - 0
assets/window/thick_opaque-border-topleft.png → assets/common/window/thick_opaque-border-topleft.png


+ 0 - 0
assets/window/thick_opaque-border-topright.png → assets/common/window/thick_opaque-border-topright.png


二进制
assets/hotseat_intro/image.gif


二进制
assets/hotseat_intro/image.psd


+ 0 - 0
assets/recruitscene/README.md → assets/hotseat_recruit/README.md


二进制
assets/hotseat_recruit/icon_closed.png


二进制
assets/hotseat_recruit/image.gif


二进制
assets/hotseat_recruit/unit_icon_active.png


二进制
assets/hotseat_recruit/unit_icon_default.png


二进制
assets/hotseat_recruit/unit_icon_hover.png


二进制
assets/hotseat_recruit/unknown.png


二进制
assets/loading_form/icon_loading.gif


二进制
assets/main_menu/background.png


二进制
assets/main_menu/logo.png


二进制
assets/main_menu/main_menu_music_1.mp3


二进制
assets/main_menu/main_menu_music_1.ogg


二进制
assets/main_menu/sorcerer.gif


二进制
assets/main_menu/tree-assets/tree.gif


二进制
assets/main_menu/tree.gif


二进制
assets/main_menu/tree.psd


+ 0 - 2
assets/pvp_intro/README.md

@@ -1,2 +0,0 @@
-# Папка с pvp_intro
-Cодержит фоновые картинки

二进制
assets/pvp_intro/picture.jpg


二进制
assets/pvp_intro/pre-battle1.jpg


二进制
assets/recruitscene/divider.png


+ 1 - 2
assets/units/races.txt

@@ -1,3 +1,2 @@
 human
-undead
-warcraft
+undead

+ 1 - 1
assets/units/undead/racename.txt

@@ -1 +1 @@
-Восставшие из мёртвых
+Мёртвые

二进制
assets/window/opaque-border-botleft.png


二进制
assets/window/opaque-border-bottom.png


二进制
assets/window/opaque-border-left.png


二进制
assets/window/opaque-border-right.png


二进制
assets/window/opaque-border-top.png


二进制
assets/window/opaque-border-topleft.png


二进制
assets/window/opaque-border-topright.png


+ 141 - 89
client.pro

@@ -4,13 +4,14 @@
 #
 #-------------------------------------------------
 
-QT       += core gui
+QT       += core gui multimedia
 
 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
 TARGET = game
 TEMPLATE = app
 CONFIG += c++14
+CONFIG += resources_big
 
 # The following define makes your compiler emit warnings if you use
 # any feature of Qt which has been marked as deprecated (the exact warnings
@@ -24,18 +25,16 @@ DEFINES += QT_DEPRECATED_WARNINGS
 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
 
 INCLUDEPATH += $$PWD/include/
-
-##create_res_folder.target = $$OUT_PWD/res
-#QMAKE_EXTRA_TARGETS += createFolder
-#createFolder.target = createResFolder
-#createFolder.commands =
-
-#POST_TARGETDEPS += createResFolder
-
-#QMAKE_PRE_LINK = $(MKDIR) $$OUT_PWD/res/
+INCLUDEPATH += $$PWD/ui/
 
 # ================================================== #
+message(================QT INFO====================)
+message(Qt version: $$[QT_VERSION])
+message(Qt is installed in $$[QT_INSTALL_PREFIX])
+# ================================================== #
+
 
+message(==========BUILDING EXTERNAL RES============)
 win32 {
     build_pass: CONFIG(debug, debug|release) {
         DESTDIR = $$OUT_PWD/debug
@@ -51,92 +50,145 @@ unix {
 
 guiRes.target = BuildResources
 exists($$DESTDIR/res) {
-        message("Directory $$DESTDIR/res already exists")
-    } else {
-            guiRes.commands += $(MKDIR) \"$$DESTDIR/res\" $$escape_expand(\n\t)
+    message("Directory $$DESTDIR/res already exists")
+} else {
+    guiRes.commands += $(MKDIR) \"$$DESTDIR/res\" $$escape_expand(\n\t)
     }
 
-win32 {
-    guiRes.commands += rcc.exe -binary $$PWD/res/hotseatgame/game_ui.qrc -o $$DESTDIR/res/gui_data.gtr $$escape_expand(\n\t) \
-                       rcc.exe -binary $$PWD/res/hotseatgame/units.qrc -o $$DESTDIR/res/unit_data.gtr $$escape_expand(\n\t) \
-                       rcc.exe -binary $$PWD/res/hotseatgame/effects.qrc -o $$DESTDIR/res/effect_data.gtr $$escape_expand(\n\t) \
-                       rcc.exe -binary $$PWD/res/hotseatgame/spells.qrc -o $$DESTDIR/res/spell_data.gtr
-}
-
-unix {
-    guiRes.commands += rcc -binary $$PWD/res/hotseatgame/game_ui.qrc -o $$DESTDIR/res/game_ui_data.gtr $$escape_expand(\n\t) \
-                       rcc -binary $$PWD/res/hotseatgame/units.qrc -o $$DESTDIR/res/unit_data.gtr $$escape_expand(\n\t) \
-                       rcc -binary $$PWD/res/hotseatgame/effects.qrc -o $$DESTDIR/res/effect_data.gtr $$escape_expand(\n\t) \
-                       rcc -binary $$PWD/res/hotseatgame/spells.qrc -o $$DESTDIR/res/spell_data.gtr
+EXT_RES =                                                                   \
+    "$$PWD/res/main_menu.qrc            -o $$DESTDIR/res/data001.gtr"       \
+    "$$PWD/res/hotseat_intro.qrc        -o $$DESTDIR/res/data002.gtr"       \
+    "$$PWD/res/hotseat_recruitment.qrc  -o $$DESTDIR/res/data003.gtr"       \
+    "$$PWD/res/hotseat_prebattle.qrc    -o $$DESTDIR/res/data004.gtr"       \
+    "$$PWD/res/hotseat_game.qrc         -o $$DESTDIR/res/data005.gtr"       \
+    "$$PWD/res/effect_data.qrc          -o $$DESTDIR/res/data006.gtr"       \
+    "$$PWD/res/spell_data.qrc           -o $$DESTDIR/res/data007.gtr"       \
+    "$$PWD/res/unit_data.qrc            -o $$DESTDIR/res/data008.gtr"       \
+    "$$PWD/res/common_data.qrc           -o $$DESTDIR/res/data009.gtr"       \
+
+for (RES, EXT_RES) {
+    win32 {
+        message(rcc.exe -binary $${RES})
+        guiRes.commands += rcc.exe -binary $${RES} $$escape_expand(\n\t)
+    }
+    unix {
+        guiRes.commands += rcc -binary $${RES} $$escape_expand(\n\t)
+    }
 }
 
 QMAKE_EXTRA_TARGETS += guiRes
 PRE_TARGETDEPS += BuildResources
 
 # ================================================== #
-SOURCES += \
-    source/main.cpp \
-    source/effects/effect.cpp \
-    source/gui/gui.cpp \
-    source/gui/guiscenemanager.cpp \
-    source/gui/loadingform.cpp \
-    source/gui/mainmenu.cpp \
-    source/gui/scene.cpp \
-    source/hotseatgame/gui/hotseatgame.cpp \
-    source/hotseatgame/gui/playervsplayerintro.cpp \
-    source/hotseatgame/gui/prebattlescene.cpp \
-    source/hotseatgame/gui/raceicon.cpp \
-    source/hotseatgame/gui/recruitmentscene.cpp \
-    source/hotseatgame/gui/uniticon.cpp \
-    source/hotseatgame/gamemanager.cpp \
-    source/hotseatgame/unitsqueue.cpp \
-    source/units/mage.cpp \
-    source/units/unit.cpp \
-    source/units/warrior.cpp \
-    source/cell.cpp \
-    source/playermanager.cpp \
-    source/race.cpp \
-    source/racemanager.cpp
-
-HEADERS += \
-    include/effects/effect.h \
-    include/gui/gui.h \
-    include/gui/guiscenemanager.h \
-    include/gui/loadingform.h \
-    include/gui/mainmenu.h \
-    include/gui/scene.h \
-    include/hotseatgame/gui/hotseatgame.h \
-    include/hotseatgame/gui/playervsplayerintro.h \
-    include/hotseatgame/gui/prebattlescene.h \
-    include/hotseatgame/gui/raceicon.h \
-    include/hotseatgame/gui/recruitmentscene.h \
-    include/hotseatgame/gui/uniticon.h \
-    include/hotseatgame/gamemanager.h \
-    include/hotseatgame/unitsqueue.h \
-    include/units/mage.h \
-    include/units/unit.h \
-    include/units/warrior.h \
-    include/abstractfactory.h \
-    include/cell.h \
-    include/player.h \
-    include/playermanager.h \
-    include/race.h \
-    include/racemanager.h
-
-FORMS += \
-    include/gui/gui.ui \
-    include/gui/loadingform.ui \
-    include/gui/mainmenu.ui \
-    include/hotseatgame/gui/hotseatgame.ui \
-    include/hotseatgame/gui/playervsplayerintro.ui \
-    include/hotseatgame/gui/prebattlescene.ui \
-    include/hotseatgame/gui/recruitmentscene.ui
-
-RESOURCES += \
-     res/GUI.qrc
-     #res/hotseatgame/game_ui.qrc \
-     #res/hotseatgame/units.qrc \
-     #res/hotseatgame/spells.qrc \
-     #res/hotseatgame/effects.qrc
+SOURCES +=                                      \
+    source/main.cpp                             \
+    source/cell.cpp                             \
+    source/playermanager.cpp                    \
+    source/race.cpp                             \
+    source/racemanager.cpp                      \
+    source/soundengine.cpp                      \
+                                                \
+\    #source/effects/effect.cpp                   \
+\    #source/effects/melledamage.cpp              \
+\    #source/effects/selfheal.cpp                 \
+                                                \
+    source/gui/guiscenemanager.cpp              \
+    source/gui/scene.cpp                        \
+                                                \
+    source/hotseatgame/raceicon.cpp             \
+    source/hotseatgame/uniticon.cpp             \
+    source/hotseatgame/gamemanager.cpp          \
+    source/hotseatgame/unitsqueue.cpp           \
+                                                \
+\   #source/skills/spell.cpp                     \
+\   #source/skills/selfheal.cpp                  \
+\   #source/skills/melledamage.cpp               \
+                                                \
+    source/units/mage.cpp                       \
+    source/units/unit.cpp                       \
+    source/units/warrior.cpp                    \
+                                                \
+    ui/hotseat_game/hotseatgame.cpp             \
+    ui/hotseat_intro/playervsplayerintro.cpp    \
+    ui/hotseat_prebattle/prebattlescene.cpp     \
+    ui/hotseat_recruitment/recruitmentscene.cpp \
+    ui/loading_form/loadingform.cpp             \
+    ui/main_menu/mainmenu.cpp                   \
+    ui/main_menu/mainmenubackground.cpp \
+    source/gui/buttoneventlistener.cpp \
+    ui/hotseat_recruitment/iconhint.cpp \
+    ui/dialog_form/dialogform.cpp \
+    ui/about_us/aboutus.cpp
+
+HEADERS +=                                      \
+    include/abstractfactory.h                   \
+    include/cell.h                              \
+    include/player.h                            \
+    include/playermanager.h                     \
+    include/race.h                              \
+    include/racemanager.h                       \
+    include/soundengine.h                       \
+                                                \
+\    #include/effects/effect.h                    \
+\    #include/effects/melledamage.h               \
+\    #include/effects/selfheal.h                  \
+                                                \
+    include/gui/guiscenemanager.h               \
+    include/gui/scene.h                         \
+    include/gui/buttoneventlistener.h           \
+                                                \
+    include/hotseatgame/gamemanager.h           \
+    include/hotseatgame/raceicon.h              \
+    include/hotseatgame/uniticon.h              \
+    include/hotseatgame/unitsqueue.h            \
+                                                \
+\    #include/skills/melledamage.h                \
+\    #include/skills/selfheal.h                   \
+\    #include/skills/spell.h                      \
+                                                \
+    include/units/mage.h                        \
+    include/units/unit.h                        \
+    include/units/warrior.h                     \
+                                                \
+    ui/hotseat_game/hotseatgame.h               \
+    ui/hotseat_intro/playervsplayerintro.h      \
+    ui/hotseat_prebattle/prebattlescene.h       \
+    ui/hotseat_recruitment/recruitmentscene.h   \
+    ui/loading_form/loadingform.h               \
+    ui/main_menu/mainmenu.h                     \
+    ui/main_menu/mainmenubackground.h           \
+    ui/hotseat_recruitment/iconhint.h           \
+    ui/dialog_form/dialogform.h                 \
+    ui/about_us/aboutus.h
+
+FORMS +=                                        \
+    ui/hotseat_game/hotseatgame.ui              \
+    ui/hotseat_intro/playervsplayerintro.ui     \
+    ui/hotseat_prebattle/prebattlescene.ui      \
+    ui/hotseat_recruitment/recruitmentscene.ui  \
+    ui/loading_form/loadingform.ui              \
+    ui/main_menu/mainmenu.ui \
+    ui/main_menu/mainmenubackground.ui \
+    ui/dialog_form/dialogform.ui \
+    ui/about_us/aboutus.ui
+
+
+debug {
+#CONFIG += console
+
+RESOURCES +=                                    \
+    res/hotseat_intro.qrc                       \
+    res/hotseat_recruitment.qrc                 \
+    #res/hotseat_prebattle.qrc                   \
+    #res/hotseat_game.qrc                        \
+    res/main_menu.qrc                           \
+    res/hotseat_intro.qrc                       \
+                                                \
+    res/effect_data.qrc                         \
+    res/spell_data.qrc                          \
+    res/unit_data.qrc                           \
+    res/common_data.qrc
+#    res/all_data.qrc
+}
 
 RC_ICONS = $$PWD/assets/common/icon.ico

+ 5 - 4
include/abstractfactory.h

@@ -2,12 +2,13 @@
 #include <iostream>
 #include <string>
 #include <map>
+#include <memory>
 
 template <class Base, typename CreatorParam>
 class AbstractCreator {
 public:
 	virtual ~AbstractCreator() {}
-    virtual Base* create(const CreatorParam &id) const = 0;
+    virtual std::shared_ptr<Base> create(const CreatorParam &id) const = 0;
 };
 
 template <class ObjectClass, class Base, typename CreatorParam>
@@ -15,8 +16,8 @@ class Creator : public AbstractCreator<Base, CreatorParam> {
 public:
     Creator() {}
 	virtual ~Creator() {}
-    Base* create(const CreatorParam &params) const {
-        return dynamic_cast<Base*>(new ObjectClass(params));
+    std::shared_ptr<Base> create(const CreatorParam &params) const {
+        return std::static_pointer_cast<Base>(std::make_shared<ObjectClass>(params));
 	}
 };
 
@@ -40,7 +41,7 @@ public:
 	}
 
     template <typename CreatorParam>
-    Base* createObject(const IdType &idClass, const CreatorParam &parameters) {
+    std::shared_ptr<Base> createObject(const IdType &idClass, const CreatorParam &parameters) {
         return factory_[idClass]->create(parameters);
 	}
 

+ 1 - 1
include/effects/MelleDamage.h → include/effects/melledamage.h

@@ -6,7 +6,7 @@
 #define GAME_CLIENT_MELLEDAMAGE_H
 #pragma once
 #include <cassert>
-#include "effect\effect.h"
+#include "effects\effect.h"
 
 class melledamage : public Effect {
     void OperateOnCell(Cell* cell);

+ 0 - 0
include/effects/SelfHeal.h → include/effects/selfheal.h


部分文件因为文件数量过多而无法显示