2using System.Collections;
13using NaughtyAttributes;
26 private GameObject paretnObject;
31 yield
return new WaitForEndOfFrame();
32 paretnObject = GameObject.Find(
"uploaded objects");
35 WebGLFileUploadManager.SetDebug(
false);
37 #
if UNITY_WEBGL && !UNITY_EDITOR
38 WebGLFileUploadManager.IsMOBILE
40 Application.isMobilePlatform
43 WebGLFileUploadManager.Show (
false);
44 WebGLFileUploadManager.SetDescription(
"Select assets files");
47 WebGLFileUploadManager.Show (
true);
48 WebGLFileUploadManager.SetDescription(
"Drop assets files here");
51 WebGLFileUploadManager.onFileUploaded += OnFileUploaded;
58 WebGLFileUploadManager.onFileUploaded -= OnFileUploaded;
59 WebGLFileUploadManager.Dispose();
63 private void TestLoadModel()
65 OnFileUploaded(
new []{
new UploadedFileInfoV2(){errorCode = 0, filePath =
@"E:\Users\Soma\Documents\3dsMax\export\AE86.fbx", isSuccess =
true, name =
"AE86.fbx"}, });
76 if(result.Length == 0) {
77 Debug.Log(
"File upload Error!");
78 PopupManager.
instance.ShowPopup(
"File upload Error!",
"The file failed to upload, please try again.");
82 Debug.Log(
"File upload success! (result.Length: " + result.Length +
")");
85 foreach(var file
in result){
88 Debug.Log(
"file.filePath: " + file.filePath +
" exists:" +
File.Exists(file.filePath));
90 byte[] byteArray =
File.ReadAllBytes (file.filePath);
92 Debug.Log(
"byteArray size: " + byteArray.Length +
" firstchar:" + byteArray[0]);
93 switch (file.name.Substring(file.name.LastIndexOf(
'.') + 1).ToLower())
96 var ab = AssetBundle.LoadFromMemory(byteArray);
108 var go =
new GameObject(file.name);
109 var ri = go.AddComponent<RawImage>();
110 var canvas = go.AddComponent<Canvas>();
111 go.GetComponent<RectTransform>().sizeDelta =
Vector2.one;
113 StartCoroutine(DownloadImage(file.filePath, ri, go));
120 go.transform.parent = paretnObject.transform;
123 var vidgo =
new GameObject(file.name);
124 var vp = vidgo.AddComponent<VideoPlayer>();
125 vp.url = file.filePath;
127 vp.playOnAwake =
true;
128 var rt =
new RenderTexture(512, 512, 0);
129 vidgo.AddComponent<Canvas>();
130 var riv = vidgo.AddComponent<RawImage>();
132 vp.renderMode = VideoRenderMode.RenderTexture;
133 vp.targetTexture = rt;
135 tc = vidgo.AddComponent<
TagCloud>();
139 vidgo.GetComponent<RectTransform>().sizeDelta =
Vector2.one;
141 vidgo.transform.parent = paretnObject.transform;
158 var so =
new GameObject(file.name);
160 so.AddComponent<
NAudioPlayer>().SetFilePath(file.filePath);
167 so.transform.parent = paretnObject.transform;
232 var load =
new GameObject(file.name);
233 var tmp = load.AddComponent<TextMeshPro>();
234 var txt =
File.ReadAllText(file.filePath);
235 var color =
new Color(Convert.ToSingle(txt.Split(
':')[0]),Convert.ToSingle(txt.Split(
':')[1]),Convert.ToSingle(txt.Split(
':')[2]),Convert.ToSingle(txt.Split(
':')[3]));
236 var bgcolor =
new Color(Convert.ToSingle(txt.Split(
':')[4]),Convert.ToSingle(txt.Split(
':')[5]),Convert.ToSingle(txt.Split(
':')[6]),Convert.ToSingle(txt.Split(
':')[7]));
238 tmp.text = txt.Remove(0, txt.IndexOf(
"\n") + 1);
239 tmp.autoSizeTextContainer =
true;
240 tmp.extraPadding =
true;
241 var c = load.AddComponent<Canvas>();
242 c.renderMode = RenderMode.WorldSpace;
244 var mr = load.GetComponent<MeshRenderer>();
245 var bgGo =
new GameObject(
"BG");
246 bgGo.transform.SetParent(load.transform);
247 StartCoroutine(ResizeHelpBG(mr, bgGo, file.filePath));
248 var bg = bgGo.AddComponent<
Image>();
249 bg.material = GameObject.Find(
"ReferenceHelpUI").GetComponent<
ReferenceSaver>().ReferenceV2 as Material;
256 load.transform.localScale =
Vector3.one * 0.02f;
266 if (file.name.ToLower() == file.name.Substring(file.name.LastIndexOf(
'.') + 1).ToLower())
268 var ab2 = AssetBundle.LoadFromMemory(byteArray);
273 Debug.Log(file.name.Substring(file.name.LastIndexOf(
'.') + 1).ToLower() +
" no cases to this file");
276 "The uploaded file is not supported! Try to use FBX!");
284 Debug.Log(
"file: " + file.name +
" did not succeeded :(\r\n" + file);
288 StartCoroutine(LateRebuild());
291 IEnumerator LateRebuild()
293 yield
return new WaitForSeconds(0.11f);
300 IEnumerator ResizeHelpBG(MeshRenderer mr, GameObject go,
string filepath)
302 yield
return new WaitForEndOfFrame();
303 var rect = go.GetComponent<RectTransform>();
304 Debug.Log(rect.sizeDelta);
305 Debug.Log(mr.bounds);
306 rect.sizeDelta =
new Vector2(mr.bounds.size.x / 0.02f, mr.bounds.size.y / 0.02f) * 1.05f;
308 mr.gameObject.transform.parent = paretnObject.transform;
311 IEnumerator DownloadImage(
string MediaUrl, RawImage ri, GameObject go)
313 UnityWebRequest request = UnityWebRequestTexture.GetTexture(MediaUrl);
314 yield
return request.SendWebRequest();
315 if(request.isNetworkError || request.isHttpError)
316 Debug.Log(request.error);
318 ri.texture = ((DownloadHandlerTexture) request.downloadHandler).texture;
322 IEnumerator LoadBundle(
string path, UnityAction<AssetBundle> callback)
326 UnityWebRequest request = UnityWebRequestAssetBundle.GetAssetBundle(path);
327 yield
return request.SendWebRequest();
329 if (request.isNetworkError || request.isHttpError)
331 Debug.LogError(request.error);
336 callback(DownloadHandlerAssetBundle.GetContent(request));
339 var assetBundleCreateRequest = AssetBundle.LoadFromFileAsync(path);
340 yield
return assetBundleCreateRequest;
341 callback(assetBundleCreateRequest.assetBundle);
UnityEngine.UI.Button Button
System.Drawing.Image Image
void AddGameObject(GameObject gobject, LoadPanel panel=LoadPanel.None, string filePath="", bool global=false)
void AddBundle(AssetBundle ab)
void LoadFromMemory(byte[] data, string filename, GameObject wrapper=null, bool singleModel=false, bool global=false)
Texture2D to mat example.
pb_PrefabBrowser prefabBrowser