Browse Source

Список сотрудников

Виктор Шейко 4 years ago
parent
commit
13fd272d5e

+ 1 - 0
.gitignore

@@ -352,3 +352,4 @@ healthchecksdb
 /Builds
 /PositionViewer/TemplateData
 /PositionViewer
+/PositionViewer2

+ 1 - 1
Assets/Scenes/Editor2D.unity

@@ -889,7 +889,7 @@ GameObject:
   m_Component:
   - component: {fileID: 439042233}
   m_Layer: 0
-  m_Name: Grid By Kilosoft
+  m_Name: Grid_Line
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0

File diff suppressed because it is too large
+ 1080 - 46
Assets/Scenes/Location.unity


+ 5 - 4
Assets/Scripts/Controllers/Editor2DController.cs

@@ -63,13 +63,13 @@ public class Editor2DController : MonoBehaviour
             var positionX_start = new Vector3(0, 0, i);
             var positionX_end = new Vector3(Length, 0, i);            
             var LineX = NewLine(posX, positionX_start, positionX_end, "LineX_" + i);
-            LineX.transform.parent = Grid.transform;
+            //LineX.transform.parent = Grid.transform;
 
             var posY = new Vector3(i, 0, 0);
             var positionY_start = new Vector3(i, 0, 0);
-            var positionY_end = new Vector3(i, Length, 0);
+            var positionY_end = new Vector3(i, 0, Length);
             var LineY = NewLine(posY, positionY_start, positionY_end, "LineY_" + i);
-            LineY.transform.parent = Grid.transform;
+            //LineY.transform.parent = Grid.transform;
 
             //var positionY_start = new Vector3(i, 10, 0);
             //var positionY_end = new Vector3(i, 10, 0);
@@ -101,6 +101,7 @@ public class Editor2DController : MonoBehaviour
 
             s += 0.05f;
         }
+        Grid.transform.position = new Vector3(0, 0.01f, 0);
     }
 
     LineRenderer NewLine(Vector3 pos, Vector3 start, Vector3 end, string name_line)
@@ -113,7 +114,7 @@ public class Editor2DController : MonoBehaviour
         line.startColor = Color.gray;
         line.endColor = Color.gray;
         line.material.color = Color.gray;
-
+        line.transform.parent = Grid.transform;
         //line.name = name_line;
         //line.transform.localScale = localScale;
         //line.transform.position = position;

+ 38 - 12
Assets/Scripts/Controllers/WorkerController.cs

@@ -14,6 +14,7 @@ public class WorkerController : MonoBehaviour
     public static List<Structure> TestStructures = new List<Structure>();
 
     public GameObject WorkersList; // scroll content
+    public Dropdown DropdownCompany;
     public Dropdown DropdownLocation;
     public Dropdown DropdownData;
     public GameObject inputField_date;
@@ -56,6 +57,8 @@ public class WorkerController : MonoBehaviour
     float interpolationPeriod = 0.1f;
     float time_realtime = 0;
     float time_draw = 0;
+    public static List<User> users = new List<User>();
+    public static bool users_load = false;
 
     //List<bool> StartStop = new List<bool>();
 
@@ -63,8 +66,8 @@ public class WorkerController : MonoBehaviour
     void Start()
     {
         DebugHelper.ActivateConsole();
-        WorkerMarker(4, Color.red);
-        WorkerMarker(356, Color.green);
+        //WorkerMarker(4, Color.red);
+        //WorkerMarker(356, Color.green);
 
         inputField_date_text = inputField_date.transform.GetComponent<InputField>();
         //Year = DatePicker.transform.GetChild(0).GetComponent<Dropdown>();
@@ -89,10 +92,15 @@ public class WorkerController : MonoBehaviour
         DropdownLocation.options.Add(new Dropdown.OptionData("22 Офис Ижевск"));
         DropdownLocation.options.Add(new Dropdown.OptionData("25"));
         inputField_date_text.text = DateTime.Now.ToString("yyyy.MM.dd");
+
+        DropdownCompany.options.Add(new Dropdown.OptionData("Тайшет"));
+        DropdownCompany.options.Add(new Dropdown.OptionData("Тестовая"));
+        DropdownCompany.options.Add(new Dropdown.OptionData("Братское"));
         //}
     }
 
     int active_location = 0;
+    int active_company = 0;
     // Update is called once per frame
     void Update()
     {
@@ -121,6 +129,19 @@ public class WorkerController : MonoBehaviour
             }
         }
 
+        if(active_company != DropdownCompany.value)
+        {
+            active_company = DropdownCompany.value;
+            foreach(var m in markers)
+            {
+                Destroy(m.marker.gameObject);
+                Destroy(m.marker_line.gameObject);
+                Destroy(m.toggle.gameObject);
+            }
+            markers = new List<Marker>();
+            client.SendGetUsers((uint) active_company + 1);
+        }
+
         if (active_location != DropdownLocation.value)
         {
             maps.ElementAt(active_location).SetActive(false);
@@ -140,7 +161,6 @@ public class WorkerController : MonoBehaviour
             }
         }
 
-
         foreach (var m in markers)
         {
             m.marker.SetActive(m.toggle.isOn);
@@ -180,8 +200,6 @@ public class WorkerController : MonoBehaviour
             }
         }
 
-
-
         if (ToggleLine.isOn)
         {
             foreach (var m in markers)
@@ -210,6 +228,13 @@ public class WorkerController : MonoBehaviour
             //camera_2_5D.SetActive(true);
             camera.orthographic = false;
         }
+
+        if (users_load)
+        {
+            foreach(var u in users.OrderBy(u => u.id))
+            WorkerMarker(u, Color.green);
+            users_load = false;
+        }
     }
 
     public static List<Marker> markers = new List<Marker>();
@@ -218,26 +243,27 @@ public class WorkerController : MonoBehaviour
     /// Создание маркера для сотрудника
     /// </summary>
     /// <param name="acc_id"></param>
-    void WorkerMarker(uint acc_id, Color color)
+    void WorkerMarker(User user, Color color)
     {
         var toggle = Instantiate(Resources.Load("GameObjects/Toggle", typeof(Toggle))) as Toggle;
-        toggle.name = acc_id.ToString();
-        toggle.transform.GetChild(1).gameObject.GetComponent<Text>().text = acc_id.ToString();
+        toggle.name = $"{user.id}";
+        toggle.transform.GetChild(1).gameObject.GetComponent<Text>().text = $"{user.id} {user.name}";
         toggle.transform.SetParent(WorkersList.transform);
+        toggle.isOn = false;
 
         var marker = Instantiate(Resources.Load("GameObjects/Capsule", typeof(GameObject))) as GameObject;
-        marker.name = "marker_" + acc_id.ToString();
-        marker.transform.GetChild(0).transform.GetChild(0).transform.GetChild(0).GetComponent<Text>().text = $"{acc_id}";
+        marker.name = $"marker_{user.id}";
+        marker.transform.GetChild(0).transform.GetChild(0).transform.GetChild(0).GetComponent<Text>().text = $"{user.id}";
 
         marker.GetComponent<Renderer>().material.color = color; // UnityEngine.Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);
 
         var marker_line = Instantiate(Resources.Load("GameObjects/Line", typeof(LineRenderer))) as LineRenderer;
-        marker_line.name = "marker_line_" + acc_id.ToString();
+        marker_line.name = $"marker_line_{user.id}";
         marker_line.startColor = color;
         marker_line.endColor = Color.white;
         marker_line.material.color = color;
 
-        markers.Add(new Marker { acc_id = acc_id, marker = marker, toggle = toggle, marker_line = marker_line });
+        markers.Add(new Marker { acc_id = user.id, marker = marker, toggle = toggle, marker_line = marker_line });
     }
 
     /// <summary>

+ 11 - 0
Assets/Scripts/Models/User.cs

@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+    public class User
+    {
+        public uint id { get; set; }
+        public string name { get; set; }
+    }

+ 5 - 3
Assets/Scripts/Net/Client.cs

@@ -8,7 +8,6 @@ using System.Net;
 using System.Text;
 using System;
 
-
 public class Client : MonoBehaviour
 {
     public const int socketPort = 87;
@@ -287,7 +286,7 @@ public class Client : MonoBehaviour
         //var ts = DateTime.Now.Ticks-1000000000000;
         //var te = DateTime.Now.Ticks;
         //CoordinatesRequest(ts, te, 1, 1);
-        SendGetUsers(3);
+        SendGetUsers(1);
     }
 
     #region system functions
@@ -787,6 +786,7 @@ public class Client : MonoBehaviour
     public void UsersReceive(byte[] bytedata)
     {
         print("UsersReceive");
+        WorkerController.users = new List<User>();
         int read = 5;
         while (read < bytedata.Length)
         {
@@ -794,8 +794,10 @@ public class Client : MonoBehaviour
             var lenname = bytedata[read+4];
             var name = Encoding.UTF8.GetString(bytedata, read+5, lenname);
             read += 5 + lenname;
-            print($"user received id {id} lenname {lenname} name {name}");
+            //print($"user received id {id} lenname {lenname} name {name}");
+            WorkerController.users.Add(new User { id = id, name = name });
         }
+        WorkerController.users_load = true;
     }
 
     public void SendLogin()