12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using XRTool.Util;
- using SC.XR.Unity.Module_InputSystem;
- using System;
- using System.Linq;
- using ShadowStudio.Model;
- namespace ShadowStudio.Tool
- {
- /// <summary>
- /// 对象创建器
- /// 下载器,资源加载器,和载体容器的开发
- /// 资源初始化:初始化,按照资源的类型(2D,3D,等文件类型)进行分块初始化,生成对应的icon(item cell)
- /// 对应的item可以检测对应的资源准备情况,例如外部未下载,本地已下载,本地resources,读取某路径,unitybase等
- /// 进行资源的准备(下载,)创建实例化,封装到容器(例如图片,视频,或者无法独立展示的资源需要容器)
- /// 有的资源无需准备(resource下的资源,unitybase,视频资源(流媒体))
- /// 其他的资源可能要下载(进度更新),检测(MD5校验),更新
- /// 不同资源的加载方式不同,实例化方式不同。
- /// 展示方法不同,模型,预制体等可直接展示,其他的效果需要借助容器(图片播放器,视频播放器,音视频播放器)来展示
- /// 内存回收方式可能不同,删除销毁等等
- /// </summary>
- public class ObjectCreator : UnitySingleton<ObjectCreator>
- {
- /// <summary>
- /// 创建一个模型
- /// </summary>
- public void CreateObject(ArtInfo artInfo)
- {
- if (artInfo.InstaceType == InstaceType.AssetBundle)
- {
- }
- else if (artInfo.InstaceType == InstaceType.ExtralURLDownload)
- {
- }
- else if (artInfo.InstaceType == InstaceType.LocalPath)
- {
- }
- else if (artInfo.InstaceType == InstaceType.ResourceLoad)
- {
- var obj = Resources.Load(artInfo.Url);
- if (obj)
- {
- }
- }
- else if (artInfo.InstaceType == InstaceType.UnityBase)
- {
- GameObject.CreatePrimitive((PrimitiveType)int.Parse(artInfo.Url));
- }
- }
- }
- }
|