123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using ShadowStudio.Model;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using XRTool.Util;
- public class ModelList : UnitySingleton<ModelList>
- {
- public void AddItem(FileConfig fileConfig)
- {
- if (RoomFile.Instance.FilePrefabConfigList.Contains(fileConfig))
- {
- RoomFile.IfFilePrefabConfigListAction?.Invoke(fileConfig);
- }
- else
- {
- RoomFile.Instance.FilePrefabConfigList.Add(fileConfig);
- string url = fileConfig.Url;
- if (!url.Contains("http"))
- {
- url = "https://" + fileConfig.Url;
- }
- ArtInfo artInfo = new ArtInfo();
- artInfo.ArtId = "ArtId" + UnityEngine.Random.Range(10000000, 99999999).ToString();
- artInfo.ArtName = fileConfig.FileName;
- artInfo.Url = url;
- artInfo.ArtType = ArtType.Model;
- artInfo.InstaceType = InstaceType.ExtralURLDownload;
- ArtHandler handler = ArtInfoMgr.Instance.CreateArtHandler(artInfo);
- var container = handler.CreateArt();
- Transform objTran = container.GetInstace().transform;
- objTran.SetParent(this.transform);
- objTran.position = RoomFile.Instance.ModelPoint.position + new Vector3(objTran.GetSiblingIndex() * 0.2f, 0, 0);
- objTran.eulerAngles = RoomFile.Instance.Mp4Point.eulerAngles;
- ModelItem modelItem = objTran.GetComponent<ModelItem>();
- modelItem.Init(fileConfig);
- RoomFile.IfFilePrefabConfigListAction?.Invoke(fileConfig);
- }
- }
- public void DeleteAll()
- {
- if (transform.childCount > 0)
- {
- for (int i = 0; i < transform.childCount; i++)
- {
- Destroy(transform.GetChild(i).gameObject);
- }
- }
- }
- }
|