ModelManager.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. public class ModelManager : Singleton<ModelManager>
  7. {
  8. // public Dictionary<string, ModelItem> modellist = new Dictionary<string, ModelItem>();
  9. public Dictionary<int, ModelList> modellist = new Dictionary<int, ModelList>();
  10. public GameObject materialLibrary;
  11. public void init(string message)
  12. {
  13. GameManager.Instance.text.text = " 获取素材列表";
  14. JObject jObject = JObject.Parse(message);
  15. string data = jObject["data"].ToString();
  16. JObject dataObject = JObject.Parse(data);
  17. string single = dataObject["single"].ToString();
  18. string library = dataObject["library"].ToString();
  19. string combination = dataObject["combination"].ToString();
  20. materialLibrary = new GameObject("MaterailLibrary");
  21. // 把三个素材库数据转成素材列表
  22. AddDicModelList(single);
  23. AddDicModelList(library);
  24. AddDicModelList(combination);
  25. }
  26. private void AddDicModelList(string message)
  27. {
  28. if (!string.IsNullOrWhiteSpace(message))
  29. {
  30. List<ModelList> ModelList = JsonConvert.DeserializeObject<List<ModelList>>(message);
  31. Debug.Log(ModelList.Count + " AddDicModelList " + message);
  32. for (int i = 0; i < ModelList.Count; i++)
  33. {
  34. ModelList[i].materalLibrary = materialLibrary.transform;
  35. modellist.Add(ModelList[i].id, ModelList[i]);
  36. for (int j = 0; j < ModelList[i].materialList.Count; j++)
  37. {
  38. ModelList[i].materialList[j].init( ModelList[i].Model);
  39. }
  40. //DownLoadModel(ModelList[i]);
  41. }
  42. }
  43. }
  44. private void DownLoadModel(ModelList list)
  45. {
  46. for (int i = 0; i < list.materialList.Count; i++)
  47. {
  48. if (list.materialList[i].Model != null)
  49. Debug.Log(" 检测下载 " + list.materialList[i].name);
  50. }
  51. }
  52. }