|
@@ -1,292 +1,292 @@
|
|
|
-using LitJson;
|
|
|
-using Newtonsoft.Json.Linq;
|
|
|
-using SC.XR.Unity;
|
|
|
-using System;
|
|
|
-using System.Collections;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.IO;
|
|
|
-using UnityEngine;
|
|
|
-using UnityEngine.UI;
|
|
|
-using Newtonsoft.Json;
|
|
|
-
|
|
|
-public class SceneChoose : BaseUI
|
|
|
-{
|
|
|
- private Button m_LeftBtn;
|
|
|
- private Button m_RightBtn;
|
|
|
- private Button m_OkBtn;
|
|
|
-
|
|
|
- private GameObject m_SceneItem;
|
|
|
- private Transform m_ScenePanel;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private SceneValue m_CurrentData;
|
|
|
- private List<SChooseItem> m_Items;
|
|
|
-
|
|
|
- private CarouselImage m_CarImage;
|
|
|
-
|
|
|
- private List<SceneValue> m_SceneData;
|
|
|
-
|
|
|
- protected override void OnAwake()
|
|
|
- {
|
|
|
- base.OnAwake();
|
|
|
- m_SceneData = new List<SceneValue>();
|
|
|
- m_Items = new List<SChooseItem>();
|
|
|
- m_CurrentData = null;
|
|
|
- m_LeftBtn = CacheTransform.Find("Left").GetComponent<Button>();
|
|
|
- m_RightBtn = CacheTransform.Find("Right").GetComponent<Button>();
|
|
|
- m_OkBtn = CacheTransform.Find("OK").GetComponent<Button>();
|
|
|
-
|
|
|
- m_SceneItem = CacheTransform.Find("SceneItem").gameObject;
|
|
|
- m_ScenePanel = CacheTransform.Find("ScenePanel");
|
|
|
-
|
|
|
- m_ScenePanel.GetComponent<RectTransform>().sizeDelta = new Vector2(400, 150);
|
|
|
-
|
|
|
- m_LeftBtn.onClick.AddListener(ONClickLeftBtn);
|
|
|
- m_RightBtn.onClick.AddListener(ONClickRightBtn);
|
|
|
- m_OkBtn.onClick.AddListener(OnClickOKBtn);
|
|
|
- }
|
|
|
-
|
|
|
- #region UI监听事件
|
|
|
-
|
|
|
- private void ONClickLeftBtn()
|
|
|
- {
|
|
|
- if (m_CarImage != null)
|
|
|
- {
|
|
|
- m_CarImage.MoveToIndex(m_CarImage.CurrentIndex + 1);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void ONClickRightBtn()
|
|
|
- {
|
|
|
- if (m_CarImage != null)
|
|
|
- {
|
|
|
- m_CarImage.MoveToIndex(m_CarImage.CurrentIndex - 1);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void OnClickOKBtn()
|
|
|
- {
|
|
|
- if (m_CurrentData != null)
|
|
|
- {
|
|
|
-
|
|
|
- Debug.Log("选择的场景为:" + m_CurrentData.name);
|
|
|
-
|
|
|
- SendSceneDetail detail = new SendSceneDetail();
|
|
|
- detail.id = m_CurrentData.id;
|
|
|
- string str = JsonConvert.SerializeObject(detail);
|
|
|
- HttpTool.Instance.PostTest("/project/detail", str, (mes) =>
|
|
|
- {
|
|
|
- JObject jObject = JObject.Parse(mes);
|
|
|
- if (jObject["code"].ToString() == "200")
|
|
|
- {
|
|
|
- mes = jObject["data"].ToString();
|
|
|
- SceneValue scene = JsonConvert.DeserializeObject<SceneValue>(mes);
|
|
|
- GameManager.Instance.MapPicUrl = scene.backgroundImages[0].base64;
|
|
|
- GameManager.Instance.GetMinMap(scene);
|
|
|
- GetSNInit();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
- Module_Notice.getInstance.SetNoticeInfo("场景地图获取失败", "请至网页端检查场景数据", NoticeType.Normal, 1.7f);
|
|
|
- Module_Notice.getInstance._Follower.WindowAnchor = TextAnchor.UpperCenter;
|
|
|
- Module_Notice.getInstance.StartNotice(3f);
|
|
|
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- Module_Notice.getInstance.SetNoticeInfo("未选择导览场景", "请先勾选要进入的场景", NoticeType.Normal, 1.7f);
|
|
|
- Module_Notice.getInstance._Follower.WindowAnchor = TextAnchor.UpperCenter;
|
|
|
- Module_Notice.getInstance.StartNotice(3f);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void GetSNInit()
|
|
|
- {
|
|
|
-
|
|
|
- SendInit send = new SendInit();
|
|
|
-
|
|
|
+using LitJson;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
+using SC.XR.Unity;
|
|
|
+using System;
|
|
|
+using System.Collections;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.IO;
|
|
|
+using UnityEngine;
|
|
|
+using UnityEngine.UI;
|
|
|
+using Newtonsoft.Json;
|
|
|
+
|
|
|
+public class SceneChoose : BaseUI
|
|
|
+{
|
|
|
+ private Button m_LeftBtn;
|
|
|
+ private Button m_RightBtn;
|
|
|
+ private Button m_OkBtn;
|
|
|
+
|
|
|
+ private GameObject m_SceneItem;
|
|
|
+ private Transform m_ScenePanel;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private SceneValue m_CurrentData;
|
|
|
+ private List<SChooseItem> m_Items;
|
|
|
+
|
|
|
+ private CarouselImage m_CarImage;
|
|
|
+
|
|
|
+ private List<SceneValue> m_SceneData;
|
|
|
+
|
|
|
+ protected override void OnAwake()
|
|
|
+ {
|
|
|
+ base.OnAwake();
|
|
|
+ m_SceneData = new List<SceneValue>();
|
|
|
+ m_Items = new List<SChooseItem>();
|
|
|
+ m_CurrentData = null;
|
|
|
+ m_LeftBtn = CacheTransform.Find("Left").GetComponent<Button>();
|
|
|
+ m_RightBtn = CacheTransform.Find("Right").GetComponent<Button>();
|
|
|
+ m_OkBtn = CacheTransform.Find("OK").GetComponent<Button>();
|
|
|
+
|
|
|
+ m_SceneItem = CacheTransform.Find("SceneItem").gameObject;
|
|
|
+ m_ScenePanel = CacheTransform.Find("ScenePanel");
|
|
|
+
|
|
|
+ m_ScenePanel.GetComponent<RectTransform>().sizeDelta = new Vector2(400, 150);
|
|
|
+
|
|
|
+ m_LeftBtn.onClick.AddListener(ONClickLeftBtn);
|
|
|
+ m_RightBtn.onClick.AddListener(ONClickRightBtn);
|
|
|
+ m_OkBtn.onClick.AddListener(OnClickOKBtn);
|
|
|
+ }
|
|
|
+
|
|
|
+ #region UI监听事件
|
|
|
+
|
|
|
+ private void ONClickLeftBtn()
|
|
|
+ {
|
|
|
+ if (m_CarImage != null)
|
|
|
+ {
|
|
|
+ m_CarImage.MoveToIndex(m_CarImage.CurrentIndex + 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void ONClickRightBtn()
|
|
|
+ {
|
|
|
+ if (m_CarImage != null)
|
|
|
+ {
|
|
|
+ m_CarImage.MoveToIndex(m_CarImage.CurrentIndex - 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void OnClickOKBtn()
|
|
|
+ {
|
|
|
+ if (m_CurrentData != null)
|
|
|
+ {
|
|
|
+
|
|
|
+ Debug.Log("选择的场景为:" + m_CurrentData.name);
|
|
|
+
|
|
|
+ SendSceneDetail detail = new SendSceneDetail();
|
|
|
+ detail.id = m_CurrentData.id;
|
|
|
+ string str = JsonConvert.SerializeObject(detail);
|
|
|
+ HttpTool.Instance.PostTest("/project/detail", str, (mes) =>
|
|
|
+ {
|
|
|
+ JObject jObject = JObject.Parse(mes);
|
|
|
+ if (jObject["code"].ToString() == "200")
|
|
|
+ {
|
|
|
+ mes = jObject["data"].ToString();
|
|
|
+ SceneValue scene = JsonConvert.DeserializeObject<SceneValue>(mes);
|
|
|
+ GameManager.Instance.MapPicUrl = scene.backgroundImages[0].base64;
|
|
|
+ GameManager.Instance.GetMinMap(scene);
|
|
|
+ GetSNInit();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
+ Module_Notice.getInstance.SetNoticeInfo("场景地图获取失败", "请至网页端检查场景数据", NoticeType.Normal, 1.7f);
|
|
|
+ Module_Notice.getInstance._Follower.WindowAnchor = TextAnchor.UpperCenter;
|
|
|
+ Module_Notice.getInstance.StartNotice(3f);
|
|
|
+ UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Module_Notice.getInstance.SetNoticeInfo("未选择导览场景", "请先勾选要进入的场景", NoticeType.Normal, 1.7f);
|
|
|
+ Module_Notice.getInstance._Follower.WindowAnchor = TextAnchor.UpperCenter;
|
|
|
+ Module_Notice.getInstance.StartNotice(3f);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void GetSNInit()
|
|
|
+ {
|
|
|
+
|
|
|
+ SendInit send = new SendInit();
|
|
|
+
|
|
|
send.sn = SendSN.GetSN();
|
|
|
|
|
|
|
|
|
- send.projectId = m_CurrentData.id;
|
|
|
- string jsonString = JsonConvert.SerializeObject(send);
|
|
|
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.sceneChoose);
|
|
|
-
|
|
|
- HttpTool.Instance.PostTest("/sn/init", jsonString, (message) =>
|
|
|
+ send.projectId = m_CurrentData.id;
|
|
|
+ string jsonString = JsonConvert.SerializeObject(send);
|
|
|
+ UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.sceneChoose);
|
|
|
+
|
|
|
+ HttpTool.Instance.PostTest("/sn/init", jsonString, (message) =>
|
|
|
+ {
|
|
|
+ Debug.Log("SN:" + send.sn);
|
|
|
+ Debug.Log("通过SN获取场景数据:" + message);
|
|
|
+ if (!string.IsNullOrWhiteSpace(message))
|
|
|
+ {
|
|
|
+ JObject jobject = JObject.Parse(message);
|
|
|
+
|
|
|
+ if (jobject.GetValue("code") != null)
|
|
|
+ {
|
|
|
+ if (jobject["code"].ToString() == "400")
|
|
|
+ {
|
|
|
+ UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ message = jobject["data"].ToString();
|
|
|
+ GameManager.Instance.text.text = message;
|
|
|
+
|
|
|
+
|
|
|
+ SceneValue scene = JsonConvert.DeserializeObject<SceneValue>(message);
|
|
|
+ DataManager.Instance.CurrentScene = scene;
|
|
|
+ DataManager.Instance.ProjectID = m_CurrentData.id;
|
|
|
+ UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.createScene);
|
|
|
+ StartCoroutine(GetSpoitValueDetail(scene));
|
|
|
+ GameManager.Instance.text.text = JsonConvert.SerializeObject(scene);
|
|
|
+ Debug.Log("当前选择场景数据: " + JsonConvert.SerializeObject(scene));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private IEnumerator GetSpoitValueDetail(SceneValue scene)
|
|
|
+ {
|
|
|
+ var spoits = scene.listSpoit;
|
|
|
+ for (int i = 0; i < spoits.Count; i++)
|
|
|
+ {
|
|
|
+
|
|
|
+ SendSceneDetail detail = new SendSceneDetail();
|
|
|
+ detail.id = spoits[i].id;
|
|
|
+ string jsonString = JsonConvert.SerializeObject(detail);
|
|
|
+
|
|
|
+ yield return StartCoroutine(HttpTool.Instance.PostRequestSpoitDetail("/viewpoint/detail", jsonString, (message) =>
|
|
|
+ {
|
|
|
+ Debug.Log("当前选择场景数据: " + message);
|
|
|
+ JObject jObject = JObject.Parse(message);
|
|
|
+ if (jObject["code"].ToString() == "200")
|
|
|
+ {
|
|
|
+ message = jObject["data"].ToString();
|
|
|
+ SpoitValueDetail spoit = JsonConvert.DeserializeObject<SpoitValueDetail>(message);
|
|
|
+ GameManager.Instance.SpoitsValueDetail.Add(spoit.id, spoit);
|
|
|
+ }
|
|
|
+ }));
|
|
|
+ }
|
|
|
+ Debug.Log(scene.vuforiaXML);
|
|
|
+ string xmlName = Path.GetFileName(scene.vuforiaXML);
|
|
|
+
|
|
|
+ if (xmlName != null)
|
|
|
+ {
|
|
|
+ xmlName = xmlName.Substring(0, xmlName.Length - 4);
|
|
|
+ AppConfigConst.IMAGE_TARGET_FILE_NAME = xmlName;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (scene.vuforiaXML != null)
|
|
|
+ {
|
|
|
+ DownloadData xml = new DownloadData();
|
|
|
+ string filename = Path.GetFileName(scene.vuforiaXML);
|
|
|
+ xml.name = filename;
|
|
|
+ xml.type = 8;
|
|
|
+ xml.downloadPath = scene.vuforiaXML;
|
|
|
+ xml.updateTime = (int)scene.updateTime;
|
|
|
+ xml.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename;
|
|
|
+ DownloadManager.Instance.AddDownloadData(xml);
|
|
|
+
|
|
|
+ DownloadData dat = new DownloadData();
|
|
|
+ string filename2 = Path.GetFileName(scene.vuforiaDat);
|
|
|
+ dat.name = filename2;
|
|
|
+ dat.type = 8;
|
|
|
+ dat.downloadPath = scene.vuforiaDat;
|
|
|
+ dat.updateTime = (int)scene.updateTime;
|
|
|
+ dat.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename2;
|
|
|
+
|
|
|
+ DownloadManager.Instance.AddDownloadData(dat);
|
|
|
+ }
|
|
|
+
|
|
|
+ yield return new WaitForSeconds(1f);
|
|
|
+
|
|
|
+ GameManager.Instance.CreateScene(scene);
|
|
|
+ Hide();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void UpdateSceneItem()
|
|
|
+ {
|
|
|
+ if (m_SceneData == null)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ ClearItem();
|
|
|
+ for (int i = 0; i < m_SceneData.Count; i++)
|
|
|
+ {
|
|
|
+ var obj = Instantiate(m_SceneItem);
|
|
|
+ obj.transform.SetParent(m_ScenePanel);
|
|
|
+ var item = obj.AddComponent<SChooseItem>();
|
|
|
+ obj.gameObject.SetActive(true);
|
|
|
+ obj.transform.localScale = new Vector3(1, 1, 1);
|
|
|
+ obj.transform.localEulerAngles = Vector3.zero;
|
|
|
+
|
|
|
+ item.OnSelectScene += OnClickSceneItem;
|
|
|
+ item.SceneData = m_SceneData[i];
|
|
|
+ item.Init();
|
|
|
+ m_Items.Add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (m_CarImage == null)
|
|
|
+ {
|
|
|
+ m_CarImage = m_ScenePanel.gameObject.AddComponent<CarouselImage>();
|
|
|
+ }
|
|
|
+ m_CarImage.mCellSize = new Vector2(400, 150);
|
|
|
+ m_CarImage.mSpacing = new Vector2(0, 0);
|
|
|
+ m_CarImage.mAutoLoop = false;
|
|
|
+ m_CarImage.mDrag = true;
|
|
|
+ m_CarImage.mLoopSpaceTime = 5f;
|
|
|
+ m_CarImage.resizeChildren();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void OnClickSceneItem(SceneValue item, bool b)
|
|
|
+ {
|
|
|
+ m_CurrentData = b ? item : null;
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+ protected override void OnInit()
|
|
|
+ {
|
|
|
+ base.OnInit();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void OnShow(object param)
|
|
|
+ {
|
|
|
+ base.OnShow(param);
|
|
|
+ m_SceneData = (List<SceneValue>)param;
|
|
|
+ UpdateSceneItem();
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void OnHide()
|
|
|
+ {
|
|
|
+ base.OnHide();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private void ClearItem()
|
|
|
+ {
|
|
|
+ while (m_Items.Count > 0)
|
|
|
{
|
|
|
- Debug.Log("SN:" + send.sn);
|
|
|
- Debug.Log("通过SN获取场景数据:" + message);
|
|
|
- if (!string.IsNullOrWhiteSpace(message))
|
|
|
- {
|
|
|
- JObject jobject = JObject.Parse(message);
|
|
|
-
|
|
|
- if (jobject.GetValue("code") != null)
|
|
|
- {
|
|
|
- if (jobject["code"].ToString() == "400")
|
|
|
- {
|
|
|
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- message = jobject["data"].ToString();
|
|
|
- GameManager.Instance.text.text = message;
|
|
|
-
|
|
|
-
|
|
|
- SceneValue scene = JsonConvert.DeserializeObject<SceneValue>(message);
|
|
|
- DataManager.Instance.CurrentScene = scene;
|
|
|
- DataManager.Instance.ProjectID = m_CurrentData.id;
|
|
|
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.createScene);
|
|
|
- StartCoroutine(GetSpoitValueDetail(scene));
|
|
|
- GameManager.Instance.text.text = JsonConvert.SerializeObject(scene);
|
|
|
- Debug.Log("当前选择场景数据: " + JsonConvert.SerializeObject(scene));
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private IEnumerator GetSpoitValueDetail(SceneValue scene)
|
|
|
- {
|
|
|
- var spoits = scene.listSpoit;
|
|
|
- for (int i = 0; i < spoits.Count; i++)
|
|
|
- {
|
|
|
-
|
|
|
- SendSceneDetail detail = new SendSceneDetail();
|
|
|
- detail.id = spoits[i].id;
|
|
|
- string jsonString = JsonConvert.SerializeObject(detail);
|
|
|
-
|
|
|
- yield return StartCoroutine(HttpTool.Instance.PostRequestSpoitDetail("/viewpoint/detail", jsonString, (message) =>
|
|
|
- {
|
|
|
- Debug.Log("当前选择场景数据: " + message);
|
|
|
- JObject jObject = JObject.Parse(message);
|
|
|
- if (jObject["code"].ToString() == "200")
|
|
|
- {
|
|
|
- message = jObject["data"].ToString();
|
|
|
- SpoitValueDetail spoit = JsonConvert.DeserializeObject<SpoitValueDetail>(message);
|
|
|
- GameManager.Instance.SpoitsValueDetail.Add(spoit.id, spoit);
|
|
|
- }
|
|
|
- }));
|
|
|
- }
|
|
|
- Debug.Log(scene.vuforiaXML);
|
|
|
- string xmlName = Path.GetFileName(scene.vuforiaXML);
|
|
|
-
|
|
|
- if (xmlName != null)
|
|
|
- {
|
|
|
- xmlName = xmlName.Substring(0, xmlName.Length - 4);
|
|
|
- AppConfigConst.IMAGE_TARGET_FILE_NAME = xmlName;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if (scene.vuforiaXML != null)
|
|
|
- {
|
|
|
- DownloadData xml = new DownloadData();
|
|
|
- string filename = Path.GetFileName(scene.vuforiaXML);
|
|
|
- xml.name = filename;
|
|
|
- xml.type = 8;
|
|
|
- xml.downloadPath = scene.vuforiaXML;
|
|
|
- xml.updateTime = (int)scene.updateTime;
|
|
|
- xml.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename;
|
|
|
- DownloadManager.Instance.AddDownloadData(xml);
|
|
|
-
|
|
|
- DownloadData dat = new DownloadData();
|
|
|
- string filename2 = Path.GetFileName(scene.vuforiaDat);
|
|
|
- dat.name = filename2;
|
|
|
- dat.type = 8;
|
|
|
- dat.downloadPath = scene.vuforiaDat;
|
|
|
- dat.updateTime = (int)scene.updateTime;
|
|
|
- dat.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename2;
|
|
|
-
|
|
|
- DownloadManager.Instance.AddDownloadData(dat);
|
|
|
- }
|
|
|
-
|
|
|
- yield return new WaitForSeconds(1f);
|
|
|
-
|
|
|
- GameManager.Instance.CreateScene(scene);
|
|
|
- Hide();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private void UpdateSceneItem()
|
|
|
- {
|
|
|
- if (m_SceneData == null)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
- ClearItem();
|
|
|
- for (int i = 0; i < m_SceneData.Count; i++)
|
|
|
- {
|
|
|
- var obj = Instantiate(m_SceneItem);
|
|
|
- obj.transform.SetParent(m_ScenePanel);
|
|
|
- var item = obj.AddComponent<SChooseItem>();
|
|
|
- obj.gameObject.SetActive(true);
|
|
|
- obj.transform.localScale = new Vector3(1, 1, 1);
|
|
|
- obj.transform.localEulerAngles = Vector3.zero;
|
|
|
-
|
|
|
- item.OnSelectScene += OnClickSceneItem;
|
|
|
- item.SceneData = m_SceneData[i];
|
|
|
- item.Init();
|
|
|
- m_Items.Add(item);
|
|
|
- }
|
|
|
-
|
|
|
- if (m_CarImage == null)
|
|
|
- {
|
|
|
- m_CarImage = m_ScenePanel.gameObject.AddComponent<CarouselImage>();
|
|
|
- }
|
|
|
- m_CarImage.mCellSize = new Vector2(400, 150);
|
|
|
- m_CarImage.mSpacing = new Vector2(0, 0);
|
|
|
- m_CarImage.mAutoLoop = false;
|
|
|
- m_CarImage.mDrag = true;
|
|
|
- m_CarImage.mLoopSpaceTime = 5f;
|
|
|
- m_CarImage.resizeChildren();
|
|
|
- }
|
|
|
-
|
|
|
- private void OnClickSceneItem(SceneValue item, bool b)
|
|
|
- {
|
|
|
- m_CurrentData = b ? item : null;
|
|
|
- }
|
|
|
-
|
|
|
- #endregion
|
|
|
- protected override void OnInit()
|
|
|
- {
|
|
|
- base.OnInit();
|
|
|
- }
|
|
|
-
|
|
|
- protected override void OnShow(object param)
|
|
|
- {
|
|
|
- base.OnShow(param);
|
|
|
- m_SceneData = (List<SceneValue>)param;
|
|
|
- UpdateSceneItem();
|
|
|
- }
|
|
|
-
|
|
|
- protected override void OnHide()
|
|
|
- {
|
|
|
- base.OnHide();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private void ClearItem()
|
|
|
- {
|
|
|
- while (m_Items.Count > 0)
|
|
|
- {
|
|
|
- var item = m_Items[0];
|
|
|
- m_Items.RemoveAt(0);
|
|
|
- Destroy(item.gameObject);
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ var item = m_Items[0];
|
|
|
+ m_Items.RemoveAt(0);
|
|
|
+ Destroy(item.gameObject);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|