فهرست منبع

修改复活单位时,在编辑器指定复活总数量

大爷 1 سال پیش
والد
کامیت
6bb7c4a2bf
1فایلهای تغییر یافته به همراه18 افزوده شده و 15 حذف شده
  1. 18 15
      Common/CommonAI/Zone/EventTrigger/EventAdapter.cs

+ 18 - 15
Common/CommonAI/Zone/EventTrigger/EventAdapter.cs

@@ -526,7 +526,7 @@ namespace CommonAI.Zone.EventTrigger
 							{
 								try
 								{
-									var id = System.Convert.ToUInt32(s, 0);
+									var id = System.Convert.ToUInt32(s);
 									var unit = zone.getUnit(id);
 									if (unit != null)
 									{
@@ -544,22 +544,25 @@ namespace CommonAI.Zone.EventTrigger
 							foreach (var s in sps)
 							{
 								var info = s.Split(':');
-								if(info.Length == 3)
-								{
-									if(info[0] == "1")
-									{
-										//死亡单位
-										try
-										{
-											zone.getDeadUnit(System.Convert.ToInt32(info[1]), System.Convert.ToInt32(info[2]), ref _tmpList);
-										}
-										catch { }
-									}
-									else
+								if (info.Length != 3) continue;
+								try
+                                {
+									int type = int.Parse(info[0]);
+                                    int cnt = int.Parse(info[1]);
+									int force = int.Parse(info[2]);
+									if (cnt <= _tmpList.Count) break;
+
+									switch(type)
 									{
-										log.Error($"配置的触发单位类型不能识别: {triggerUnits}");
+										case 1: //死亡单位
+                                            zone.getDeadUnit(cnt - _tmpList.Count, force, ref _tmpList);
+											break;
+                                        default:
+                                            log.Error($"配置的触发单位类型不能识别: {triggerUnits}");
+                                            break;
 									}
-								}
+                                }
+                                catch { }
 							}
                         }