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
{
///
/// 对象创建器
/// 下载器,资源加载器,和载体容器的开发
/// 资源初始化:初始化,按照资源的类型(2D,3D,等文件类型)进行分块初始化,生成对应的icon(item cell)
/// 对应的item可以检测对应的资源准备情况,例如外部未下载,本地已下载,本地resources,读取某路径,unitybase等
/// 进行资源的准备(下载,)创建实例化,封装到容器(例如图片,视频,或者无法独立展示的资源需要容器)
/// 有的资源无需准备(resource下的资源,unitybase,视频资源(流媒体))
/// 其他的资源可能要下载(进度更新),检测(MD5校验),更新
/// 不同资源的加载方式不同,实例化方式不同。
/// 展示方法不同,模型,预制体等可直接展示,其他的效果需要借助容器(图片播放器,视频播放器,音视频播放器)来展示
/// 内存回收方式可能不同,删除销毁等等
///
public class ObjectCreator : UnitySingleton
{
///
/// 创建一个模型
///
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));
}
}
}
}