Browse Source

сохранение локации

Rimmon 4 years ago
parent
commit
57ba45474a
2 changed files with 24 additions and 1 deletions
  1. 1 1
      Assets/Scripts/Controllers/EditorController.cs
  2. 23 0
      Assets/Scripts/Models/Location.cs

+ 1 - 1
Assets/Scripts/Controllers/EditorController.cs

@@ -233,7 +233,7 @@ public class EditorController : MonoBehaviour
             //foreach (var z in location.zones)
             //    z.go.transform.SetParent(location.location.transform);
 
-            location.Save();
+            location.SaveContents();
             mode.Switch();
         }
         else

+ 23 - 0
Assets/Scripts/Models/Location.cs

@@ -3,10 +3,12 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using System.IO;
 using UnityEngine;
 
 public class Location
 {
+    public uint company_id;
     public uint id { get; set; }
     public string name { get; set; }
     public List<Wall> walls { get; set; }
@@ -18,6 +20,27 @@ public class Location
     public static List<string> gos = new List<string> { "Walls", "Zones", "Beacons" };
 
     public void Save()
+    {
+        MemoryStream ms = new MemoryStream();
+        BinaryWriter bw = new BinaryWriter(ms);
+        var urlb = Encoding.UTF8.GetBytes(texture_url);
+        ushort urllen = (ushort)urlb.Length;
+        bw.Write(id);
+        bw.Write(plane.transform.localScale.x);
+        bw.Write(plane.transform.localScale.z);
+        bw.Write(plane.transform.localPosition.x);
+        bw.Write(plane.transform.localPosition.z);
+        bw.Write(company_id);       
+        bw.Write(urllen);
+        bw.Write(urlb);
+
+        //ms.Write(bdata, 0, bdata.Length);
+        //Debug.Log("imagesend bytes "+ms.ToArray().Length);
+        var data = Client.ConstructVariablePacket(56, ms.ToArray());
+        Client.SendEnqueue(data);
+    }
+
+    public void SaveContents()
     {
         foreach (Wall wall in walls)
         {