|
@@ -1,6 +1,8 @@
|
|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
+using Newtonsoft.Json;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
using UnityEngine;
|
|
|
using UnityEngine.UI;
|
|
|
|
|
@@ -49,6 +51,7 @@ public class UIEditorPanel : MonoBehaviour, EventObserver
|
|
|
listAlter = new List<objectData>();
|
|
|
listSpoits = new SpoitValue();
|
|
|
EventManager.Instance.Register(this, EventID.EVENT_1);
|
|
|
+ initCount = GameManager.Instance.ObjsParent.childCount;
|
|
|
}
|
|
|
|
|
|
public void Init()
|
|
@@ -227,14 +230,90 @@ public class UIEditorPanel : MonoBehaviour, EventObserver
|
|
|
|
|
|
SaveBtn.onClick.AddListener(() =>
|
|
|
{
|
|
|
+
|
|
|
if (MaterialObj == null)
|
|
|
return;
|
|
|
GameManager.Instance.SaveSpoitObjs();
|
|
|
-
|
|
|
+ */
|
|
|
+ StartCoroutine(SetSpoitInfo());
|
|
|
});
|
|
|
}
|
|
|
+ private int initCount;
|
|
|
+ public IEnumerator SetSpoitInfo()
|
|
|
+ {
|
|
|
+ countSplit =0;saveData.Clear();
|
|
|
+ int count = GameManager.Instance.ObjsParent.childCount;
|
|
|
+ for (int i = initCount; i <= count-1;i++)
|
|
|
+ {
|
|
|
+ var spoit = GameManager.Instance.SpoitValues[i-initCount];
|
|
|
+
|
|
|
+ for (int j = 0; j < spoit.material.Count; j++)
|
|
|
+ {
|
|
|
+ for (int k = 0;k< spoit.material[j].materialList.Count; k++)
|
|
|
+ {
|
|
|
+ spoit.material[j].select = true;
|
|
|
+ spoit.material[j].materialList[k].ObjectTransform.nowPos = GameManager.Instance.ObjsParent.GetChild(i).GetChild(0).GetChild(k).localPosition;
|
|
|
+ spoit.material[j].materialList[k].ObjectTransform.nowRot = GameManager.Instance.ObjsParent.GetChild(i).GetChild(0).GetChild(k).localEulerAngles;
|
|
|
+ spoit.material[j].materialList[k].ObjectTransform.nowScale = GameManager.Instance.ObjsParent.GetChild(i).GetChild(0).GetChild(k).localScale;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SplitSpoitData(spoit,count-initCount);
|
|
|
+ yield return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private List<SendSaveData> saveData = new List<SendSaveData>();
|
|
|
+ private void SplitSpoitData(SpoitValue spoit,int spoitCount)
|
|
|
+ {
|
|
|
+ countSplit++;
|
|
|
+ SendSaveData data = new SendSaveData();
|
|
|
+ data.id = spoit.id;
|
|
|
+ data.name = spoit.name;
|
|
|
+ data.projectId = DataManager.Instance.ProjectID;
|
|
|
+ data.material = spoit.material;
|
|
|
+ data.spoittf = spoit.spoitTf;
|
|
|
+ saveData.Add(data);
|
|
|
+
|
|
|
+ string sendData = JsonConvert.SerializeObject(saveData);
|
|
|
+ Debug.LogError(countSplit+"=="+spoitCount);
|
|
|
+ if(countSplit==spoitCount)
|
|
|
+ HttpTool.Instance.PostTest("/viewpoint/update", sendData, SaveCallBack);
|
|
|
+ }
|
|
|
+ private int countSplit =0;
|
|
|
|
|
|
+ private void SaveCallBack(string message)
|
|
|
+ {
|
|
|
+ if (message == "UnityWebRequest Error")
|
|
|
+ {
|
|
|
+ InstantiateCommand ErrorCommand = new InstantiateCommand(
|
|
|
+ InstantiateSystem.Instance.BlueObject.WarningPopUp,
|
|
|
+ InstantiateSystem.Instance.BlueObject.NetErrorText);
|
|
|
+ CommandExtensionSystem.Instance.Send(ErrorCommand);
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
+
|
|
|
+ JObject jObject = JObject.Parse(message);
|
|
|
+ string str = jObject["message"].ToString();
|
|
|
+ if (str != "更新成功")
|
|
|
+ {
|
|
|
+ InstantiateCommand ErrorCommand = new InstantiateCommand(
|
|
|
+ InstantiateSystem.Instance.BlueObject.WarningPopUp,
|
|
|
+ InstantiateSystem.Instance.BlueObject.NetErrorText);
|
|
|
+ CommandExtensionSystem.Instance.Send(ErrorCommand);
|
|
|
+ Debug.LogError("执行协程数:" + countSplit);
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Debug.Log("更新成功");
|
|
|
+ UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.SaveSpoitDataEnd);
|
|
|
+ ((LoadingPanel)UIManager.Instance.GetUI(UINameConfig.LoadingPanel)).TextStr = str;
|
|
|
+
|
|
|
+ InstantiateCommand Command = new InstantiateCommand(
|
|
|
+ InstantiateSystem.Instance.BlueObject.WarningPopUp,
|
|
|
+ "保存成功");
|
|
|
+ CommandExtensionSystem.Instance.Send(Command);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|