Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
                });
            }
        }