private static void JSEditorNewClone(string _activity, string _params) { if (isLoading) { return; } try { JSONNode root = JSON.Parse(_params); string package = root["package"].Value; string file = root["file"].Value; string uuid = root["uuid"].Value; ResourceMgr.PreloadAsset(package, file , () => { startLoading(); } , (_obj) => { GameObject go = ResourceMgr.CloneGameObject(package, file, uuid); go.SetActive(false); //open collider, support mouse pick Collider collider = go.GetComponent <Collider>(); if (null != collider) { collider.enabled = true; } Battlehub.RTEditor.ExposeToEditor script = go.GetComponent <Battlehub.RTEditor.ExposeToEditor>(); if (null == script) { script = go.AddComponent <Battlehub.RTEditor.ExposeToEditor>(); //Debug.Log(script); } EditorMgr.AppendGameObject(uuid); go.SetActive(true); finishLoading(); } , (_err) => { onNotify(_err); } ); } catch (System.Exception e) { onNotify("Parse json has error: " + e.Message); } }
private static void JSEditorExposeDirectionalLight(string _activity, string _params) { if (isLoading) { return; } try { JSONNode root = JSON.Parse(_params); string uuid = root["uuid"].Value; LightMgr.NewDirectionalLight(uuid); startLoading(); Light light = LightMgr.FindDirectionalLight(uuid); if (light == null) { onNotify(string.Format("{0} not instance", uuid)); return; } Battlehub.RTEditor.ExposeToEditor script = light.gameObject.GetComponent <Battlehub.RTEditor.ExposeToEditor>(); if (null == script) { script = light.gameObject.AddComponent <Battlehub.RTEditor.ExposeToEditor>(); //Debug.Log(script); } //SlateMgr.AttachGameObject(uuid); finishLoading(); } catch (System.Exception e) { onNotify("Parse json has error: " + e.Message); } }
private static void batchPreloadAsset(List <Dictionary <string, string> > _assets, onBatchPreloadFinishDelegate _onFinish) { if (_assets.Count == 0) { _onFinish(); return; } Dictionary <string, string> asset = _assets[0]; string packageUUID = asset["package"]; string fileUUID = asset["file"]; string imageUUID = asset["image"]; string cloneUUID = asset["uuid"]; string type = asset["type"]; _assets.RemoveAt(0); if (type.Equals("skybox")) { Log.Debug("EditorMgr:importVCB", "preload skybox {0}", fileUUID); ResourceMgr.PreloadAsset(packageUUID, fileUUID , () => { Log.Debug("EditorMgr::importVCB", "ready load skybox {0}@{1}", packageUUID, fileUUID); } , (_obj) => { Editor.Image image = fsm.FindState(imageUUID) as Editor.Image; image.skybox = _obj as Material; Log.Debug("EditorMgr::importVCB", "load skybox {0}@{1} success", packageUUID, fileUUID); batchPreloadAsset(_assets, _onFinish); } , (_err) => { //onNotify(_err); Log.Error("EditorMgr::importVCB", "load skybox {0}@{1} failed: {2}", packageUUID, fileUUID, _err); batchPreloadAsset(_assets, _onFinish); }); } else if (type.Equals("agent")) { float posX = float.Parse(asset["pos.x"]); float posY = float.Parse(asset["pos.y"]); float posZ = float.Parse(asset["pos.z"]); float rotX = float.Parse(asset["rot.x"]); float rotY = float.Parse(asset["rot.y"]); float rotZ = float.Parse(asset["rot.z"]); float scaleX = float.Parse(asset["scale.x"]); float scaleY = float.Parse(asset["scale.y"]); float scaleZ = float.Parse(asset["scale.z"]); Log.Debug("EditorMgr:importVCB", "preload agent {0}", fileUUID); ResourceMgr.PreloadAsset(packageUUID, fileUUID , () => { Log.Debug("EditorMgr::importVCB", "ready load agent {0}@{1}", packageUUID, fileUUID); } , (_obj) => { Editor.Image image = fsm.FindState(imageUUID) as Editor.Image; GameObject go = ResourceMgr.CloneGameObject(packageUUID, fileUUID, cloneUUID); go.SetActive(false); go.transform.position = new Vector3(posX, posY, posZ); go.transform.rotation = Quaternion.Euler(rotX, rotY, rotZ); go.transform.localScale = new Vector3(scaleX, scaleY, scaleZ); Collider collider = go.GetComponent <Collider>(); if (null != collider) { collider.enabled = true; } Battlehub.RTEditor.ExposeToEditor script = go.GetComponent <Battlehub.RTEditor.ExposeToEditor>(); if (null == script) { script = go.AddComponent <Battlehub.RTEditor.ExposeToEditor>(); //Debug.Log(script); } if (!image.objs.Contains(cloneUUID)) { image.objs.Add(cloneUUID); } Log.Debug("EditorMgr::importVCB", "load agent {0}@{1} success", packageUUID, fileUUID); batchPreloadAsset(_assets, _onFinish); } , (_err) => { Log.Error("EditorMgr::importVCB", "load agent {0}@{1} failed: {2}", packageUUID, fileUUID, _err); batchPreloadAsset(_assets, _onFinish); }); } }