finished ADeditor for triggers

This commit is contained in:
2010-08-30 01:00:10 +04:00
parent 8f9294c405
commit 25dce4f32f
6 changed files with 2146 additions and 1660 deletions

View File

@@ -25,5 +25,6 @@ HEADERS += mainwindow.h \
triggermodel.h
FORMS += mainwindow.ui
TRANSLATIONS += adeditor_ru.ts
RESOURCES += ADeditor.qrc
OTHER_FILES += ../schema.xml \
../data2.xml

View File

@@ -1,113 +1,283 @@
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<variable>RunConfiguration0-BaseEnvironmentBase</variable>
<value type="int">2</value>
</data>
<data>
<variable>RunConfiguration0-CommandLineArguments</variable>
<valuelist type="QVariantList"/>
</data>
<data>
<variable>RunConfiguration0-ProFile</variable>
<value type="QString">ADeditor.pro</value>
</data>
<data>
<variable>RunConfiguration0-RunConfiguration.name</variable>
<value type="QString">ADeditor</value>
</data>
<data>
<variable>RunConfiguration0-UseDyldImageSuffix</variable>
<value type="bool">false</value>
</data>
<data>
<variable>RunConfiguration0-UseTerminal</variable>
<value type="bool">false</value>
</data>
<data>
<variable>RunConfiguration0-UserEnvironmentChanges</variable>
<valuelist type="QVariantList"/>
</data>
<data>
<variable>RunConfiguration0-UserSetName</variable>
<value type="bool">false</value>
</data>
<data>
<variable>RunConfiguration0-UserSetWorkingDirectory</variable>
<value type="bool">false</value>
</data>
<data>
<variable>RunConfiguration0-UserWorkingDirectory</variable>
<value type="QString"></value>
</data>
<data>
<variable>RunConfiguration0-type</variable>
<value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
</data>
<data>
<variable>activeRunConfiguration</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<variable>activebuildconfiguration</variable>
<value type="QString">Debug</value>
</data>
<data>
<variable>buildConfiguration-Debug</variable>
<valuemap type="QVariantMap">
<value key="EditorConfiguration.Codec" type="QByteArray">System</value>
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<value key="QtVersionId" type="int">0</value>
<value key="ToolChain" type="int">0</value>
<value key="addQDumper" type=""></value>
<value key="buildConfiguration" type="int">2</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<variable>buildConfiguration-Release</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Настольный компьютер</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value>
<value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value>
<value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
<valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
<valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
<value key="QtVersionId" type="int">0</value>
<value key="addQDumper" type=""></value>
<value key="buildConfiguration" type="int">0</value>
</valuemap>
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Сборка</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
</data>
<data>
<variable>buildconfiguration-Debug-buildstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<valuelist key="abstractProcess.Environment" type="QVariantList">
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-7vJZaf9AwI,guid=f26a2301f932cefdec6dd3bc4c79669f</value>
<value type="QString">DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</value>
<value type="QString">DESKTOP_SESSION=gnome</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">GDMSESSION=gnome</value>
<value type="QString">GDM_KEYBOARD_LAYOUT=us</value>
<value type="QString">GDM_LANG=ru_RU.UTF-8</value>
<value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
<value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-U899U4</value>
<value type="QString">GTK_MODULES=canberra-gtk-module</value>
<value type="QString">HOME=/home/andrey</value>
<value type="QString">LANG=ru_RU.UTF-8</value>
<value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
<value type="QString">LOGNAME=andrey</value>
<value type="QString">MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</value>
<value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-andrey</value>
<value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</value>
<value type="QString">PWD=/home/andrey</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1236,unix/buull-eeePC:/tmp/.ICE-unix/1236</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SPEECHD_PORT=6561</value>
<value type="QString">SSH_AGENT_PID=1270</value>
<value type="QString">SSH_AUTH_SOCK=/tmp/keyring-U899U4/ssh</value>
<value type="QString">USER=andrey</value>
<value type="QString">USERNAME=andrey</value>
<value type="QString">XAUTHORITY=/var/run/gdm/auth-for-andrey-6T6AjI/database</value>
<value type="QString">XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</value>
<value type="QString">XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</value>
<value type="QString">XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1283024543.354844-1194058895</value>
</valuelist>
<valuelist key="abstractProcess.arguments" type="QVariantList">
<value type="QString">/home/andrey/AD/aliendefender/ADeditor/ADeditor.pro</value>
<value type="QString">-spec</value>
<value type="QString">linux-g++</value>
<value type="QString">-r</value>
<value type="QString">CONFIG+=debug</value>
</valuelist>
<value key="abstractProcess.command" type="QString">/usr/bin/qmake-qt4</value>
<value key="abstractProcess.enabled" type="bool">false</value>
<value key="abstractProcess.workingDirectory" type="QString">/home/andrey/AD/aliendefender/ADeditor</value>
</valuemap>
<value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
<valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Сборка</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
</data>
<data>
<variable>buildconfiguration-Debug-buildstep1</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<valuelist key="abstractProcess.Environment" type="QVariantList">
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-7vJZaf9AwI,guid=f26a2301f932cefdec6dd3bc4c79669f</value>
<value type="QString">DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</value>
<value type="QString">DESKTOP_SESSION=gnome</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">GDMSESSION=gnome</value>
<value type="QString">GDM_KEYBOARD_LAYOUT=us</value>
<value type="QString">GDM_LANG=ru_RU.UTF-8</value>
<value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
<value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-U899U4</value>
<value type="QString">GTK_MODULES=canberra-gtk-module</value>
<value type="QString">HOME=/home/andrey</value>
<value type="QString">LANG=ru_RU.UTF-8</value>
<value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
<value type="QString">LOGNAME=andrey</value>
<value type="QString">MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</value>
<value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-andrey</value>
<value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</value>
<value type="QString">PWD=/home/andrey</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1236,unix/buull-eeePC:/tmp/.ICE-unix/1236</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SPEECHD_PORT=6561</value>
<value type="QString">SSH_AGENT_PID=1270</value>
<value type="QString">SSH_AUTH_SOCK=/tmp/keyring-U899U4/ssh</value>
<value type="QString">USER=andrey</value>
<value type="QString">USERNAME=andrey</value>
<value type="QString">XAUTHORITY=/var/run/gdm/auth-for-andrey-6T6AjI/database</value>
<value type="QString">XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</value>
<value type="QString">XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</value>
<value type="QString">XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1283024543.354844-1194058895</value>
</valuelist>
<value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
<valuelist key="abstractProcess.arguments" type="QVariantList">
<value type="QString">-w</value>
</valuelist>
<value key="abstractProcess.command" type="QString">/usr/bin/make</value>
<value key="abstractProcess.enabled" type="bool">true</value>
<value key="abstractProcess.workingDirectory" type="QString">/home/andrey/AD/aliendefender/ADeditor</value>
</valuemap>
</data>
<data>
<variable>buildconfiguration-Debug-cleanstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<valuelist key="abstractProcess.Environment" type="QVariantList">
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-7vJZaf9AwI,guid=f26a2301f932cefdec6dd3bc4c79669f</value>
<value type="QString">DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</value>
<value type="QString">DESKTOP_SESSION=gnome</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">GDMSESSION=gnome</value>
<value type="QString">GDM_KEYBOARD_LAYOUT=us</value>
<value type="QString">GDM_LANG=ru_RU.UTF-8</value>
<value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
<value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-U899U4</value>
<value type="QString">GTK_MODULES=canberra-gtk-module</value>
<value type="QString">HOME=/home/andrey</value>
<value type="QString">LANG=ru_RU.UTF-8</value>
<value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
<value type="QString">LOGNAME=andrey</value>
<value type="QString">MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</value>
<value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-andrey</value>
<value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</value>
<value type="QString">PWD=/home/andrey</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1236,unix/buull-eeePC:/tmp/.ICE-unix/1236</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SPEECHD_PORT=6561</value>
<value type="QString">SSH_AGENT_PID=1270</value>
<value type="QString">SSH_AUTH_SOCK=/tmp/keyring-U899U4/ssh</value>
<value type="QString">USER=andrey</value>
<value type="QString">USERNAME=andrey</value>
<value type="QString">XAUTHORITY=/var/run/gdm/auth-for-andrey-6T6AjI/database</value>
<value type="QString">XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</value>
<value type="QString">XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</value>
<value type="QString">XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1283024543.354844-1194058895</value>
</valuelist>
<value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
<valuelist key="abstractProcess.arguments" type="QVariantList">
<value type="QString">clean</value>
<value type="QString">-w</value>
</valuelist>
<value key="abstractProcess.command" type="QString">/usr/bin/make</value>
<value key="abstractProcess.enabled" type="bool">true</value>
<value key="abstractProcess.workingDirectory" type="QString">/home/andrey/AD/aliendefender/ADeditor</value>
<value key="cleanConfig" type="bool">true</value>
<valuelist key="makeargs" type="QVariantList">
<value type="QString">clean</value>
</valuelist>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
</valuemap>
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Отладка</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/Users/Andrey/Desktop/build-ADeditor</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">9</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
</data>
<data>
<variable>buildconfiguration-Release-buildstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
</valuemap>
<valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
<valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
</data>
<data>
<variable>buildconfiguration-Release-buildstep1</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
</valuemap>
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Сборка</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
</data>
<data>
<variable>buildconfiguration-Release-cleanstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
</valuemap>
<value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
<valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Сборка</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
<value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
<valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
<value type="QString">clean</value>
</data>
<data>
<variable>buildconfigurations</variable>
<valuelist type="QVariantList">
<value type="QString">Debug</value>
<value type="QString">Release</value>
</valuelist>
<value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
</valuemap>
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Релиз</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/Users/Andrey/Desktop/aliendefender/ADeditor-build-desktop</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">9</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
</valuemap>
<value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
<valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">ADeditor</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value>
<valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/>
<value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">ADeditor.pro</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value>
<valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetName" type="bool">false</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">true</value>
<value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString">C:\Users\Andrey\Desktop\aliendefender</value>
</valuemap>
<value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
</data>
<data>
<variable>buildstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
<value key="mkspec" type="QString"></value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
<variable>buildstep1</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">4</value>
<variable>buildsteps</variable>
<valuelist type="QVariantList">
<value type="QString">trolltech.qt4projectmanager.qmake</value>
<value type="QString">trolltech.qt4projectmanager.make</value>
</valuelist>
</data>
<data>
<variable>cleanstep0</variable>
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
<value key="clean" type="bool">true</value>
</valuemap>
</data>
<data>
<variable>cleansteps</variable>
<valuelist type="QVariantList">
<value type="QString">trolltech.qt4projectmanager.make</value>
</valuelist>
</data>
<data>
<variable>defaultFileEncoding</variable>
<value type="QByteArray">System</value>
</data>
<data>
<variable>project</variable>
<valuemap type="QVariantMap"/>
</data>
</qtcreator>

View File

@@ -1,64 +0,0 @@
<!DOCTYPE data>
<ADdata>
<aliens>
<alien flying="true" speed="0.03" imageType="31" prise="15" id="2" score="12" name="Monstr" health="150"/>
<alien flying="true" speed="0.01" imageType="-1078580008" prise="1" id="4" score="10" name="test" health="60"/>
<alien speed="0.06" imageType="1" prise="4" id="10" score="99" name="first" health="100"/>
<alien regeneration="3" speed="0.0099" imageType="1" prise="10" armor="1.5" id="12" score="99" name="MONSTR" health="99.99"/>
</aliens>
<maps>
<map width="16" imageType="1" height="16" id="1" data="AAAERHicY2BgEGAA4v///0hQgmFmAGlGcjCxZuCTHzUDuxkMDOr85JrBwKC0A8kMJlwYagYOeYgZ+NXgNwMtPEbNINIMIsynOO8DAG0r1Q0=" name="My Map" maxPlayers="2"/>
</maps>
<waves>
<wave prise="100" timeout="20000" id="1"/>
<wave prise="200" timeout="20000" id="2"/>
<wave prise="220" timeout="20000" id="3"/>
</waves>
<levels>
<level map="1" id="1" score="149859760" name="First Level"/>
</levels>
<waveParts>
<wavePart alien="10" count="4" wave="1"/>
<wavePart alien="12" count="5" wave="1"/>
<wavePart alien="10" count="10" wave="1"/>
<wavePart alien="10" count="9" wave="2"/>
<wavePart alien="10" count="1" wave="3"/>
<wavePart alien="10" count="2" wave="3"/>
<wavePart alien="12" count="3" wave="3"/>
<wavePart alien="12" count="4" wave="3"/>
</waveParts>
<wavesOnLevels>
<waveOnLevel wave="1" level="1"/>
<waveOnLevel wave="2" level="1"/>
<waveOnLevel wave="3" level="1"/>
</wavesOnLevels>
<splashes>
<splash speed="0.2" imageType="1" lifetime="9999" id="1" name="rocket"/>
<splash speed="0.2" imageType="1" lifetime="9999" autoControl="true" id="2" name="smart rocket"/>
<splash speed="100" imageType="2" lifetime="100" autoControl="true" id="3" name="bullet"/>
<splash speed="1" imageType="3" lifetime="10" id="4" name="bum"/>
<splash speed="0" imageType="4" lifetime="10" id="5" name="smoke"/>
</splashes>
<towers>
<tower imageType="1" radius="3" expByKill="0.1" expByShot="0.15" buildTime="50" splash="1" reload="20" id="1" name="rocket launcher" cost="30" expByDamage="0.04"/>
<tower imageType="2" radius="1.5" expByKill="0.2" expByShot="0.1" buildTime="25" splash="3" reload="5" id="2" name="gun" cost="10" expByDamage="0.1"/>
<tower imageType="1" radius="3" expByKill="0.1" expByShot="0.15" buildTime="50" splash="2" reload="20" id="3" name="rocket launcher 2" cost="30" expByDamage="0.04"/>
</towers>
<triggers>
<trigger damage="5" childAim="noAim" delParent="true" type="onDestination" id="2" name="shot"/>
<trigger damage="5" childAim="noAim" radius="1.5" delParent="true" count="1" type="onDestination" id="3" name="explosion"/>
<trigger childAim="noAim" count="1" type="onTimer" id="4" name="smoke"/>
</triggers>
<chains>
<chain tower="1" trigger="3" child="4" parent="1"/>
<chain tower="1" trigger="4" child="5" parent="1"/>
<chain tower="2" trigger="2" parent="3"/>
<chain tower="3" trigger="3" child="4" parent="2"/>
<chain tower="3" trigger="4" child="5" parent="2"/>
</chains>
<towersOnLevels>
<towerOnLevel tower="1" level="1"/>
<towerOnLevel tower="2" level="1"/>
<towerOnLevel tower="3" level="1"/>
</towersOnLevels>
</ADdata>

View File

@@ -24,14 +24,22 @@ MainWindow::MainWindow(QWidget *parent) :
twModel = new TowerModel(adloader->towers.values());
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
connect(ui->lvTowers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTowers_select(QModelIndex, QModelIndex)));
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
trigModel = new TriggerModel(adloader->triggers.values());
ui->lvTriggers->setModel((QAbstractItemModel * )trigModel);
connect(ui->lvTriggers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTriggers_select(QModelIndex,QModelIndex)));
ui->lvTriggers->selectionModel()->setCurrentIndex(ui->lvTriggers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->cbTrigChildAim->addItem(tr("no aim"),QVariant(srcTriggerType::noAim));
ui->cbTrigChildAim->addItem(tr("random side"),QVariant(srcTriggerType::allSide));
ui->cbTrigChildAim->addItem(tr("parent aim"),QVariant(srcTriggerType::parentAim));
ui->cbTrigChildAim->addItem(tr("nearlest alien"),QVariant(srcTriggerType::nearlestAlien));
ui->cbTrigType->addItem(tr("on destination"),QVariant(srcTriggerType::onDestination));
ui->cbTrigType->addItem(tr("on alien in radius"),QVariant(srcTriggerType::onAlienInRadius));
ui->cbTrigType->addItem(tr("on timer"),QVariant(srcTriggerType::onTimer));
isSaved = true;
}
@@ -60,6 +68,7 @@ void MainWindow::on_cbAlArmor_toggled(bool checked)
ui->sbAlArmor->setEnabled(checked);
if (checked) adloader->aliens[id].armor = ui->sbAlArmor->value();
else adloader->aliens[id].armor = 0;
isSaved = false;
}
@@ -69,6 +78,7 @@ void MainWindow::on_cbAlRegeneration_toggled(bool checked)
ui->sbAlregeneration->setEnabled(checked);
if (checked) adloader->aliens[id].regeneration = ui->sbAlregeneration->value();
else adloader->aliens[id].regeneration = 0;
isSaved = false;
}
@@ -96,8 +106,20 @@ void MainWindow::lvTowers_select(QModelIndex index, QModelIndex)
ui->sbTwBuildTime->setValue(tw.buildTime);
ui->sbTwCost->setValue(tw.cost);
ui->sbTwExpByDam->setValue(tw.expByDamage);
if (tw.expByDamage > 0)
ui->cbTwExpByDam->setChecked(true);
else
ui->cbTwExpByDam->setChecked(false);
ui->sbTwExpByKill->setValue(tw.expByKill);
if (tw.expByKill > 0)
ui->cbTwExpByKill->setChecked(true);
else
ui->cbTwExpByKill->setChecked(false);
ui->sbTwExpByShot->setValue(tw.expByShot);
if (tw.expByShot > 0)
ui->cbTwExpByShot->setChecked(true);
else
ui->cbTwExpByShot->setChecked(false);
ui->leTwName->setText(tw.name);
ui->sbTwRadius->setValue(tw.radius);
ui->sbTwReload->setValue(tw.reload);
@@ -119,25 +141,79 @@ void MainWindow::lvTriggers_select(QModelIndex index, QModelIndex)
{
tbTrigger trig = adloader->triggers.values().at(index.row());
ui->sbTrigCount->setValue(trig.count);
if (trig.count > 0)
ui->cbTrigCount->setChecked(true);
else
ui->cbTrigCount->setChecked(false);
ui->sbTrigDamage->setValue(trig.damage);
if (trig.damage > 0)
ui->cbTrigDamage->setChecked(true);
else
ui->cbTrigDamage->setChecked(false);
ui->sbTrigDamRadius->setValue(trig.radius);
if (trig.radius > 0)
ui->cbTrigDamRad->setChecked(true);
else
ui->cbTrigDamRad->setChecked(false);
ui->sbTrigChance->setValue(trig.chance);
if (trig.chance == 100)
ui->cbTrigChance->setChecked(false);
else
ui->cbTrigChance->setChecked(true);
ui->sbTrigRandomRadius->setValue(trig.randomPosRadius);
if (trig.randomPosRadius > 0)
ui->cbTrigRandRadius->setChecked(true);
else
ui->cbTrigRandRadius->setChecked(false);
ui->sbTrigTimer->setValue(trig.timer);
switch (trig.type)
{
case srcTriggerType::onDestination :
ui->cbTrigType->setCurrentIndex(0);
break;
case srcTriggerType::onAlienInRadius :
ui->cbTrigType->setCurrentIndex(1);
break;
case srcTriggerType::onTimer :
ui->cbTrigType->setCurrentIndex(2);
break;
}
if (trig.type != srcTriggerType::onTimer)
{
ui->lbTrigTimer->setVisible(false);
ui->sbTrigTimer->setVisible(false);
} else {
ui->lbTrigTimer->setVisible(true);
ui->sbTrigTimer->setVisible(true);
}
switch (trig.childAim)
{
case srcTriggerType::noAim :
ui->cbTrigChildAim->setCurrentIndex(0);
break;
case srcTriggerType::allSide :
ui->cbTrigChildAim->setCurrentIndex(1);
break;
case srcTriggerType::parentAim :
ui->cbTrigChildAim->setCurrentIndex(2);
break;
case srcTriggerType::nearlestAlien :
ui->cbTrigChildAim->setCurrentIndex(3);
break;
}
ui->leTrigName->setText(trig.name);
}
void MainWindow::closeEvent(QCloseEvent *event)
{
if (!isSaved)
{
QMessageBox msgBox;
msgBox.setText(tr("Save changes?"));
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
msgBox.setEscapeButton(QMessageBox::Discard);
int ret = msgBox.exec();
switch (ret)
{
@@ -148,7 +224,8 @@ void MainWindow::closeEvent(QCloseEvent *event)
case QMessageBox::Cancel :
event->ignore();
break;
default:
}
} else {
event->accept();
}
}
@@ -158,6 +235,7 @@ void MainWindow::on_pbSave_clicked()
adloader->save("data2.xml");
adloader->load("data2.xml");
adloader->save("data2.xml");
isSaved = true;
}
@@ -175,12 +253,21 @@ void MainWindow::on_pbReload_clicked()
alModel->refresh(adloader->aliens.values());
twModel->refresh(adloader->towers.values());
splModel->refresh(adloader->splashes.values());
trigModel->refresh(adloader->triggers.values());
ui->lvAliens->setModel(alModel);
ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvSplashes->setModel(splModel);
ui->lvSplashes->reset();
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvTowers->setModel(twModel);
ui->cbTwSplash->setModel(splModel);
ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvTriggers->setModel(trigModel);
ui->lvTriggers->reset();
ui->lvTriggers->selectionModel()->setCurrentIndex(ui->lvTriggers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
isSaved = true;
}
}
@@ -189,6 +276,7 @@ void MainWindow::on_sbAlHealth_valueChanged(double value)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].health = value;
isSaved = false;
}
@@ -196,6 +284,7 @@ void MainWindow::on_sbAlArmor_valueChanged(double value)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].armor = value;
isSaved = false;
}
@@ -203,6 +292,7 @@ void MainWindow::on_sbAlregeneration_valueChanged(double value)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].regeneration = value;
isSaved = false;
}
@@ -210,6 +300,7 @@ void MainWindow::on_sbAlSpeed_valueChanged(double value)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].speed = value;
isSaved = false;
}
@@ -217,6 +308,7 @@ void MainWindow::on_sbAlPrise_valueChanged(int val)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].prise = val;
isSaved = false;
}
@@ -224,13 +316,15 @@ void MainWindow::on_sbAlScore_valueChanged(int val)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].score = val;
isSaved = false;
}
void MainWindow::on_cbAlIsFly_clicked(bool checked)
void MainWindow::on_cbAlIsFly_toggled(bool checked)
{
int id = adloader->aliens.values().at(ui->lvAliens->currentIndex().row()).id;
adloader->aliens[id].isFlying = checked;
isSaved = false;
}
@@ -240,7 +334,7 @@ void MainWindow::on_leAlName_editingFinished()
adloader->aliens[id].name = ui->leAlName->text();
alModel->refresh(adloader->aliens.values());
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->lvAliens->repaint();
isSaved = false;
}
@@ -261,6 +355,7 @@ void MainWindow::on_pbAlAdd_clicked()
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
isSaved = false;
}
@@ -281,6 +376,7 @@ void MainWindow::on_pbAlDel_clicked()
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
isSaved = false;
}
}
@@ -291,6 +387,7 @@ void MainWindow::on_leTwName_editingFinished()
adloader->towers[id].name = ui->leTwName->text();
twModel->refresh(adloader->towers.values());
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
isSaved = false;
}
@@ -298,6 +395,7 @@ void MainWindow::on_sbTwBuildTime_valueChanged(int val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].buildTime = val;
isSaved = false;
}
@@ -305,19 +403,25 @@ void MainWindow::on_sbTwCost_valueChanged(int val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].cost = val;
isSaved = false;
}
void MainWindow::on_cbTwSplash_currentIndexChanged(int index)
{
if (index > 0)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].splashId = adloader->splashes.values().at(index).id;
isSaved = false;
}
}
void MainWindow::on_sbTwReload_valueChanged(int val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].reload = val;
isSaved = false;
}
@@ -325,6 +429,7 @@ void MainWindow::on_sbTwRadius_valueChanged(double val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].radius = val;
isSaved = false;
}
@@ -332,6 +437,17 @@ void MainWindow::on_sbTwExpByShot_valueChanged(double val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].expByShot = val;
isSaved = false;
}
void MainWindow::on_cbTwExpByShot_toggled(bool checked)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
ui->sbTwExpByShot->setEnabled(checked);
if (checked) adloader->towers[id].expByShot = ui->sbTwExpByShot->value();
else adloader->towers[id].expByShot = 0;
isSaved = false;
}
@@ -339,6 +455,17 @@ void MainWindow::on_sbTwExpByDam_valueChanged(double val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].expByDamage = val;
isSaved = false;
}
void MainWindow::on_cbTwExpByDam_toggled(bool checked)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
ui->sbTwExpByDam->setEnabled(checked);
if (checked) adloader->towers[id].expByDamage = ui->sbTwExpByDam->value();
else adloader->towers[id].expByDamage = 0;
isSaved = false;
}
@@ -346,6 +473,17 @@ void MainWindow::on_sbTwExpByKill_valueChanged(double val)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
adloader->towers[id].expByKill = val;
isSaved = false;
}
void MainWindow::on_cbTwExpByKill_toggled(bool checked)
{
int id = adloader->towers.values().at(ui->lvTowers->currentIndex().row()).id;
ui->sbTwExpByKill->setEnabled(checked);
if (checked) adloader->towers[id].expByKill = ui->sbTwExpByKill->value();
else adloader->towers[id].expByKill = 0;
isSaved = false;
}
@@ -367,6 +505,7 @@ void MainWindow::on_pbTwAdd_clicked()
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
isSaved = false;
}
@@ -387,6 +526,7 @@ void MainWindow::on_pbTwDel_clicked()
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
ui->lvTowers->reset();
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
isSaved = false;
}
}
@@ -397,6 +537,7 @@ void MainWindow::on_leSplName_editingFinished()
splModel->refresh(adloader->splashes.values());
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
isSaved = false;
}
@@ -404,6 +545,7 @@ void MainWindow::on_sbSplSpeed_valueChanged(double val)
{
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
adloader->splashes[id].speed = val;
isSaved = false;
}
@@ -411,6 +553,7 @@ void MainWindow::on_cbSplAutoControl_toggled(bool checked)
{
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
adloader->splashes[id].autoControl = checked;
isSaved = false;
}
@@ -418,6 +561,7 @@ void MainWindow::on_sbSplLifeTime_valueChanged(int val)
{
int id = adloader->splashes.values().at(ui->lvSplashes->currentIndex().row()).id;
adloader->splashes[id].lifetime = val;
isSaved = false;
}
@@ -437,6 +581,7 @@ void MainWindow::on_pbSplAdd_clicked()
ui->lvSplashes->reset();
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
isSaved = false;
}
@@ -469,11 +614,12 @@ void MainWindow::on_pbSlpDel_clicked()
ui->lvSplashes->reset();
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
isSaved = false;
}
}
void MainWindow::on_pushButton_clicked()
void MainWindow::on_pbTwSplashEdit_clicked()
{
int splIndex = adloader->splashes.keys().indexOf(adloader->towers.values().at(ui->lvTowers->currentIndex().row()).splashId);
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(splIndex,0),QItemSelectionModel::ClearAndSelect);
@@ -481,10 +627,189 @@ void MainWindow::on_pushButton_clicked()
}
void MainWindow::on_cbTrigChance_clicked(bool checked)
void MainWindow::on_cbTrigChance_toggled(bool checked)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
ui->sbTrigChance->setEnabled(checked);
if (checked) adloader->triggers[id].chance = ui->sbTrigChance->value();
else adloader->triggers[id].chance = 100;
isSaved = false;
}
void MainWindow::on_sbTrigChance_valueChanged(int val)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].chance = val;
isSaved = false;
}
void MainWindow::on_leTrigName_editingFinished()
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].name = ui->leTrigName->text();
trigModel->refresh(adloader->triggers.values());
ui->lvTriggers->setModel((QAbstractItemModel * )trigModel);
isSaved = false;
}
void MainWindow::on_sbTrigCount_valueChanged(int val)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].count = val;
isSaved = false;
}
void MainWindow::on_sbTrigRandomRadius_valueChanged(double value)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].randomPosRadius = value;
isSaved = false;
}
void MainWindow::on_cbTrigDelPar_toggled(bool checked)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].delParent = checked;
isSaved = false;
}
void MainWindow::on_sbTrigTimer_valueChanged(int val)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].timer = val;
isSaved = false;
}
void MainWindow::on_sbTrigDamage_valueChanged(double value)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].damage = value;
isSaved = false;
}
void MainWindow::on_sbTrigDamRadius_valueChanged(double value)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].radius = value;
isSaved = false;
}
void MainWindow::on_cbTrigDamRad_toggled(bool checked)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
ui->sbTrigDamRadius->setEnabled(checked);
if (checked) adloader->triggers[id].radius = ui->sbTrigDamRadius->value();
else adloader->triggers[id].radius = 0;
isSaved = false;
}
void MainWindow::on_cbTrigDamage_toggled(bool checked)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
ui->sbTrigDamage->setEnabled(checked);
if (checked) adloader->triggers[id].damage = ui->sbTrigDamage->value();
else adloader->triggers[id].damage = 0;
isSaved = false;
}
void MainWindow::on_cbTrigRandRadius_toggled(bool checked)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
ui->sbTrigRandomRadius->setEnabled(checked);
if (checked) adloader->triggers[id].randomPosRadius = ui->sbTrigRandomRadius->value();
else adloader->triggers[id].randomPosRadius = 0;
isSaved = false;
}
void MainWindow::on_cbTrigCount_toggled(bool checked)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
ui->sbTrigCount->setEnabled(checked);
if (checked) adloader->triggers[id].count = ui->sbTrigCount->value();
else adloader->triggers[id].count = 0;
isSaved = false;
}
void MainWindow::on_pbTrigAdd_clicked()
{
int i = 1;
while (adloader->triggers.contains(i)) i++;
tbTrigger trig;
trig.id = i;
trig.name = tr("Trigger");
trig.count = 0;
trig.damage = 0;
trig.radius = 0;
trig.timer = 10;
trig.chance = 100;
trig.delParent =true ;
trig.childAim = srcTriggerType::noAim;
trig.randomPosRadius = 0;
trig.type = srcTriggerType::onDestination;
adloader->triggers.insert(trig.id,trig);
int index = adloader->triggers.keys().indexOf(i);
trigModel->refresh(adloader->triggers.values());
ui->lvTriggers->setModel((QAbstractItemModel * )trigModel);
ui->lvTriggers->reset();
ui->lvTriggers->selectionModel()->setCurrentIndex(ui->lvTriggers->model()->index(index,0),QItemSelectionModel::ClearAndSelect);
isSaved = false;
}
void MainWindow::on_pbTrigDel_clicked()
{
if (adloader->triggers.size() < 2) return;
QMessageBox msgBox;
int id = adloader->triggers.keys().at(ui->lvTriggers->currentIndex().row());
msgBox.setText(tr("Delete trigger %1 id=%2").arg(adloader->triggers.value(id).name).arg(id));
msgBox.setInformativeText(tr("Are you sure?"));
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Ok);
int ret = msgBox.exec();
if (ret == QMessageBox::Ok)
{
adloader->triggers.remove(id);
trigModel->refresh(adloader->triggers.values());
ui->lvTriggers->setModel((QAbstractItemModel * )trigModel);
ui->lvTriggers->reset();
ui->lvTriggers->selectionModel()->setCurrentIndex(ui->lvTriggers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
isSaved = false;
}
}
void MainWindow::on_cbTrigType_currentIndexChanged(int index)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].type = (srcTriggerType::triggerType)ui->cbTrigType->itemData(index).toInt();
if (adloader->triggers[id].type != srcTriggerType::onTimer)
{
ui->lbTrigTimer->setVisible(false);
ui->sbTrigTimer->setVisible(false);
} else {
ui->lbTrigTimer->setVisible(true);
ui->sbTrigTimer->setVisible(true);
}
isSaved = false;
}
void MainWindow::on_cbTrigChildAim_currentIndexChanged(int index)
{
int id = adloader->triggers.values().at(ui->lvTriggers->currentIndex().row()).id;
adloader->triggers[id].childAim = (srcTriggerType::aimType)ui->cbTrigChildAim->itemData(index).toInt();
isSaved = false;
}

View File

@@ -32,11 +32,33 @@ private:
SplashModel * splModel;
TriggerModel* trigModel;
bool isSaved;
void closeEvent(QCloseEvent *);
private slots:
void on_cbTrigChance_clicked(bool checked);
void on_cbTrigChildAim_currentIndexChanged(int index);
void on_cbTrigType_currentIndexChanged(int index);
void on_cbTrigCount_toggled(bool checked);
void on_leTrigName_editingFinished();
void on_pbTwSplashEdit_clicked();
void on_cbTrigDamRad_toggled(bool checked);
void on_cbTrigDamage_toggled(bool checked);
void on_cbTrigDelPar_toggled(bool checked);
void on_cbTrigChance_toggled(bool checked);
void on_cbTrigRandRadius_toggled(bool checked);
void on_cbTwExpByKill_toggled(bool checked);
void on_cbTwExpByDam_toggled(bool checked);
void on_cbTwExpByShot_toggled(bool checked);
void on_cbAlIsFly_toggled(bool checked);
void on_pbTrigDel_clicked();
void on_pbTrigAdd_clicked();
void on_sbTrigChance_valueChanged(int );
void on_sbTrigDamRadius_valueChanged(double );
void on_sbTrigDamage_valueChanged(double );
void on_sbTrigTimer_valueChanged(int );
void on_sbTrigRandomRadius_valueChanged(double );
void on_sbTrigCount_valueChanged(int );
void on_pbReload_clicked();
void on_pushButton_clicked();
void on_pbSlpDel_clicked();
void on_pbSplAdd_clicked();
void on_sbSplLifeTime_valueChanged(int );
@@ -57,7 +79,6 @@ private slots:
void on_pbAlDel_clicked();
void on_pbAlAdd_clicked();
void on_leAlName_editingFinished();
void on_cbAlIsFly_clicked(bool checked);
void on_sbAlScore_valueChanged(int );
void on_sbAlPrise_valueChanged(int );
void on_sbAlSpeed_valueChanged(double );

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>598</width>
<height>489</height>
<height>497</height>
</rect>
</property>
<property name="windowTitle">
@@ -532,7 +532,7 @@
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<widget class="QPushButton" name="pbTwSplashEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -626,12 +626,18 @@
</item>
<item>
<widget class="QDoubleSpinBox" name="sbTwExpByShot">
<property name="enabled">
<bool>false</bool>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
@@ -653,12 +659,18 @@
</item>
<item>
<widget class="QDoubleSpinBox" name="sbTwExpByDam">
<property name="enabled">
<bool>false</bool>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
@@ -680,12 +692,18 @@
</item>
<item>
<widget class="QDoubleSpinBox" name="sbTwExpByKill">
<property name="enabled">
<bool>false</bool>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
@@ -1147,7 +1165,7 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout_38">
<item>
<widget class="QLabel" name="label_33">
<widget class="QCheckBox" name="cbTrigCount">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -1157,19 +1175,22 @@
<property name="text">
<string>Count</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="sbTrigCount">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>1</number>
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
@@ -1191,12 +1212,18 @@
</item>
<item>
<widget class="QDoubleSpinBox" name="sbTrigRandomRadius">
<property name="enabled">
<bool>false</bool>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
@@ -1218,6 +1245,9 @@
</item>
<item>
<widget class="QSpinBox" name="sbTrigChance">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>1</number>
</property>
@@ -1318,12 +1348,6 @@
<property name="maximum">
<number>999999999</number>
</property>
<property name="singleStep">
<number>50</number>
</property>
<property name="value">
<number>50</number>
</property>
</widget>
</item>
</layout>
@@ -1345,6 +1369,9 @@
</item>
<item>
<widget class="QDoubleSpinBox" name="sbTrigDamage">
<property name="enabled">
<bool>false</bool>
</property>
<property name="decimals">
<number>3</number>
</property>
@@ -1372,12 +1399,18 @@
</item>
<item>
<widget class="QDoubleSpinBox" name="sbTrigDamRadius">
<property name="enabled">
<bool>false</bool>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>