浏览代码

Starting work on map settings

nordsoft 2 年之前
父节点
当前提交
4ce68298d1
共有 2 个文件被更改,包括 209 次插入10 次删除
  1. 44 0
      mapeditor/mapsettings.cpp
  2. 165 10
      mapeditor/mapsettings.ui

+ 44 - 0
mapeditor/mapsettings.cpp

@@ -64,6 +64,50 @@ MapSettings::MapSettings(MapController & ctrl, QWidget *parent) :
 		item->setCheckState(controller.map()->allowedHeroes[i] ? Qt::Checked : Qt::Unchecked);
 		ui->listHeroes->addItem(item);
 	}
+	
+	//set difficulty
+	switch(controller.map()->difficulty)
+	{
+		case 0:
+			ui->diffRadio1->setChecked(true);
+			break;
+			
+		case 1:
+			ui->diffRadio2->setChecked(true);
+			break;
+			
+		case 2:
+			ui->diffRadio3->setChecked(true);
+			break;
+			
+		case 3:
+			ui->diffRadio4->setChecked(true);
+			break;
+			
+		case 4:
+			ui->diffRadio5->setChecked(true);
+			break;
+	};
+	
+	//victory & loss messages
+	ui->victoryMessageEdit->setText(QString::fromStdString(controller.map()->victoryMessage));
+	ui->defeatMessageEdit->setText(QString::fromStdString(controller.map()->defeatMessage));
+	
+	//victory & loss conditions
+	for(auto & ev : controller.map()->triggeredEvents)
+	{
+		if(ev.effect.type == EventEffect::VICTORY)
+		{
+			if(ev.identifier == "standardVictory")
+				ui->standardVictoryCheck->setChecked(true);
+
+			if(ev.identifier == "specialVictory")
+			{
+				if(ev.trigger.get() == EventCondition::HAVE_ARTIFACT)
+					
+			}
+		}
+	}
 
 	//ui8 difficulty;
 	//ui8 levelLimit;

+ 165 - 10
mapeditor/mapsettings.ui

@@ -9,7 +9,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>454</width>
+    <width>470</width>
     <height>480</height>
    </rect>
   </property>
@@ -23,10 +23,17 @@
    <string>Map settings</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="2">
+   <item row="2" column="1">
+    <widget class="QPushButton" name="pushButton">
+     <property name="text">
+      <string>Ok</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1">
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
-      <number>4</number>
+      <number>0</number>
      </property>
      <widget class="QWidget" name="tab">
       <attribute name="title">
@@ -53,6 +60,161 @@
        <item>
         <widget class="QPlainTextEdit" name="mapDescriptionEdit"/>
        </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox">
+         <property name="title">
+          <string>Difficulty</string>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <item>
+           <widget class="QRadioButton" name="diffRadio1">
+            <property name="text">
+             <string>1</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="diffRadio2">
+            <property name="text">
+             <string>2</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="diffRadio3">
+            <property name="text">
+             <string>3</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="diffRadio4">
+            <property name="text">
+             <string>4</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="diffRadio5">
+            <property name="text">
+             <string>5</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_6">
+      <attribute name="title">
+       <string>Events</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_6">
+       <item>
+        <widget class="QTabWidget" name="tabWidget_2">
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="tab_7">
+          <attribute name="title">
+           <string>Victory</string>
+          </attribute>
+          <layout class="QVBoxLayout" name="verticalLayout_7">
+           <item>
+            <layout class="QHBoxLayout" name="horizontalLayout">
+             <property name="rightMargin">
+              <number>0</number>
+             </property>
+             <property name="bottomMargin">
+              <number>0</number>
+             </property>
+             <item>
+              <widget class="QLabel" name="label_3">
+               <property name="text">
+                <string>Victory message</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="victoryMessageEdit"/>
+             </item>
+            </layout>
+           </item>
+           <item>
+            <widget class="QComboBox" name="victoryComboBox"/>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="onlyForHumansCheck">
+             <property name="text">
+              <string>Only for human players</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="standardVictoryCheck">
+             <property name="text">
+              <string>Allow standard victory</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="victoryParams">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="title">
+              <string>Parameters</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="tab_8">
+          <attribute name="title">
+           <string>Loss</string>
+          </attribute>
+          <layout class="QFormLayout" name="formLayout_2">
+           <item row="1" column="0" colspan="2">
+            <widget class="QComboBox" name="lossComboBox"/>
+           </item>
+           <item row="2" column="0" colspan="2">
+            <widget class="QCheckBox" name="standardLossCheck">
+             <property name="text">
+              <string>7 days without castle defeat</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="0">
+            <widget class="QLabel" name="label_4">
+             <property name="text">
+              <string>Defeat message</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1">
+            <widget class="QLineEdit" name="defeatMessageEdit"/>
+           </item>
+           <item row="3" column="0" colspan="2">
+            <widget class="QGroupBox" name="lossParams">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="title">
+              <string>Parameters</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tab_2">
@@ -161,13 +323,6 @@
      </widget>
     </widget>
    </item>
-   <item row="1" column="1">
-    <widget class="QPushButton" name="pushButton">
-     <property name="text">
-      <string>Ok</string>
-     </property>
-    </widget>
-   </item>
   </layout>
  </widget>
  <resources/>