浏览代码

mmo-21344:Editor加一个大地图标注功能,支持选入一张地图png,在其上添加文字

zhaohua 3 年之前
父节点
当前提交
bdc2a8288b
共有 2 个文件被更改,包括 65 次插入8 次删除
  1. 32 3
      Common/CommonAI/Zone/ZoneEditor/EditorDatas.cs
  2. 33 5
      XmdsCommon/EditorData/SnapData.cs

+ 32 - 3
Common/CommonAI/Zone/ZoneEditor/EditorDatas.cs

@@ -44,7 +44,22 @@ namespace CommonAI.Zone.ZoneEditor
         public string[] Attributes;
 
         [DescAttribute("逻辑开关", "扩展")]
-        public bool Enable = true;
+        public bool Enable = true;
+
+        [DescAttribute("地图显示", "地图显示")]
+        public bool MapShow = false;
+        [DescAttribute("地图名称", "地图显示")]
+        public string UnitName = "";
+        [DescAttribute("地图icon", "地图显示")]
+        public string UnitIcon = "";
+        [DescAttribute("坐标OffsetX", "地图显示")]
+        public float OffsetX = 0;
+        [DescAttribute("坐标OffsetX", "地图显示")]
+        public float OffsetY = 0;
+        [DescAttribute("坐标LableOffsetX", "地图显示")]
+        public float LableOffsetX = 0;
+        [DescAttribute("坐标LableOffsetY", "地图显示")]
+        public float LableOffsetY = 15;
 
         [DescAttribute("事件", "事件")]
         [SceneScriptIDAttribute]
@@ -84,7 +99,14 @@ namespace CommonAI.Zone.ZoneEditor
             output.PutUTF(this.SavePath);
             output.PutS32(this.Color);
             output.PutArray(this.Attributes, output.PutUTF);
-            output.PutBool(this.Enable);
+            output.PutBool(this.Enable);
+            output.PutBool(this.MapShow);
+            output.PutUTF(this.UnitName);
+            output.PutUTF(this.UnitIcon);
+            output.PutF32(this.OffsetX);
+            output.PutF32(this.OffsetY);
+            output.PutF32(this.LableOffsetX);
+            output.PutF32(this.LableOffsetY);
             output.PutUTF(this.Script);
             output.PutUTF(this.Tag);
         }
@@ -98,7 +120,14 @@ namespace CommonAI.Zone.ZoneEditor
             this.SavePath = input.GetUTF();
             this.Color = input.GetS32();
             this.Attributes = input.GetUTFArray();
-            this.Enable = input.GetBool();
+            this.Enable = input.GetBool();
+            this.MapShow = input.GetBool();
+            this.UnitName = input.GetUTF();
+            this.UnitIcon = input.GetUTF();
+            this.OffsetX = input.GetF32();
+            this.OffsetY = input.GetF32();
+            this.LableOffsetX = input.GetF32();
+            this.LableOffsetY = input.GetF32();
             this.Script = input.GetUTF();
             this.Tag = input.GetUTF();
         }

+ 33 - 5
XmdsCommon/EditorData/SnapData.cs

@@ -1,4 +1,4 @@
-using CommonAI.Zone;
+using CommonAI.Zone;
 using CommonAI.Zone.ZoneEditor;
 using CommonLang;
 using CommonLang.IO;
@@ -243,7 +243,14 @@ namespace XmdsCommon.EditorData
                     rgs.unitID = unit.UnitTemplateID;
                     rgs.unitName = unit.Name;
                     rgs.x = unit.X;
-                    rgs.y = unit.Y;
+                    rgs.y = unit.Y;
+                    rgs.mapShow = unit.MapShow;
+                    rgs.unitMName = unit.UnitName;
+                    rgs.unitMIcon = unit.UnitIcon;
+                    rgs.offsetX = unit.OffsetX;
+                    rgs.offsetY = unit.OffsetY;
+                    rgs.lableOffsetX = unit.LableOffsetX;
+                    rgs.lableOffsetY = unit.LableOffsetY;
                     this.units.Add(rgs);
 				}
                 catch (Exception err)
@@ -290,21 +297,42 @@ namespace XmdsCommon.EditorData
     {
         public String unitName;
         public int unitID;
-        public float x, y;
+        public float x, y;
+        public bool mapShow;
+        public String unitMName;
+        public String unitMIcon;
+        public float offsetX;
+        public float offsetY;
+        public float lableOffsetX;
+        public float lableOffsetY;
 
         public void ReadExternal(IInputStream input)
         {
             this.unitName = input.GetUTF();
             this.unitID = input.GetS32();
             this.x = input.GetF32();
-            this.y = input.GetF32();
+            this.y = input.GetF32();
+            this.mapShow = input.GetBool();
+            this.unitMName = input.GetUTF();
+            this.unitMIcon = input.GetUTF();
+            this.offsetX = input.GetF32();
+            this.offsetY = input.GetF32();
+            this.lableOffsetX = input.GetF32();
+            this.lableOffsetY = input.GetF32();
         }
         public void WriteExternal(IOutputStream output)
         {
             output.PutUTF(this.unitName);
             output.PutS32(this.unitID);
             output.PutF32(this.x);
-            output.PutF32(this.y);
+            output.PutF32(this.y);
+            output.PutBool(this.mapShow);
+            output.PutUTF(this.unitMName);
+            output.PutUTF(this.unitMIcon);
+            output.PutF32(this.offsetX);
+            output.PutF32(this.offsetY);
+            output.PutF32(this.lableOffsetX);
+            output.PutF32(this.lableOffsetY);
         }
     }