private void LoadAssetbundle()
        {
            int CurStageID = 0;

            if (ObjectSelf.GetInstance().GetIsPrompt())
            {
                CurStageID = ObjectSelf.GetInstance().GetPromptCurCampaignID();
            }
            else
            {
                CurStageID = ObjectSelf.GetInstance().GetCurCampaignID();
            }
            CurStage = (StageTemplate)DataTemplate.GetInstance().m_StageTable.getTableData(CurStageID);
            FightControler.isOpeningAnimation = CurStage.m_iskcdh != -1;

            if (CurStage.m_stageevent[0] != "-1")
            {
                Monstersdata = new MonsterGroupDataObjMgr(AssetLoader.Inst.GetEditorAssetRes(CurStage.m_stageevent[0]) as MonsterGroupDataObj);
            }
            if (CurStage.m_stageevent[1] != "-1")
            {
                HeroPathdata = AssetLoader.Inst.GetEditorAssetRes(CurStage.m_stageevent[1]) as HeroPathDataObj;
                //测试用的;
                HeroPathdata.MoveDistance -= 4f;
            }
            if (CurStage.m_stageevent[2] != "-1")
            {
                Camdata = AssetLoader.Inst.GetEditorAssetRes(CurStage.m_stageevent[2]) as CameraDataObj;
            }
            if (CurStage.m_stageevent[3] != "-1")
            {
                StoryAnimdata = AssetLoader.Inst.GetEditorAssetRes(CurStage.m_stageevent[3]) as StoryAnimDataObj;
            }
            LoadFightEditor();
        }
Example #2
0
 /// <summary>
 /// 动态初始化完成后发送加载完事件给战斗
 /// </summary>
 /// <param name="Camdata">摄像机序列化数据</param>
 public void Init(CameraDataObj Camdata, StoryAnimDataObj Storydata)
 {
     MainCam            = Camera.main;
     StoryData          = Storydata;
     AnimationFollowCam = new GameObject("AnimationFollowCam");
     if (StoryData != null)
     {
         AnimationFollowCam.transform.parent = FightEditorContrler.GetInstantiate().GetStoryCamAnimsObj().transform;
     }
     LineUpFollowCam               = FightEditorContrler.GetInstantiate().GetLineUpFollowCam().transform;
     FightFollowCam                = FightEditorContrler.GetInstantiate().GetFightFollowCam().transform;
     FightDefaultCam               = FightEditorContrler.GetInstantiate().GetFightDefaultCam().transform;
     MainCam.transform.position    = Camdata.CameraPos;
     MainCam.transform.eulerAngles = Camdata.CameraAngles;
     CamEnterPos  = Camdata.CamEnterPos;
     CamCenter    = Camdata.CamCenter;
     CamEnterTime = Camdata.CamEnterTime;
     CaminfoList  = new List <Caminfo>();
     CaminfoList  = Camdata.CamPointdataList;
     CaminfoCount = CaminfoList.Count;
     SetCamtype(CamType.Enter);
     SetCamTagType(CamTagType.Null);
     SetCamholdType(CamHoldType.Pause);
 }
Example #3
0
        public override void OnInspectorGUI()
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("摄像机入场时间");
            Cameracontrler.CamEnterTime = EditorGUILayout.Slider(Cameracontrler.CamEnterTime, 0, 10);
            EditorGUILayout.EndHorizontal();
            if (GUILayout.Button("创建摄像机触发事件"))
            {
                GameObject CamTriggerPointID = new GameObject("CamTriggerPointID");
                CamTriggerPointID.transform.parent        = Cameracontrler.transform.GetChild(0);
                CamTriggerPointID.transform.localPosition = Vector3.zero;
                GameObject cam = new GameObject("cam");
                cam.AddComponent <Camera>().fieldOfView = 50;
                cam.GetComponent <Camera>().enabled     = false;
                cam.transform.parent = CamTriggerPointID.transform;
                CamTriggerPointID.AddComponent <CamTriggerEvent>().info = new Caminfo();
            }
            //if (GUILayout.Button("创建摄像机动画"))
            //{
            //    GameObject CameraAnimation = new GameObject("CameraAnimation");
            //    CameraAnimation.transform.parent = Cameracontrler.transform.GetChild(1);
            //    CameraAnimation.transform.localPosition = Vector3.zero;
            //    CameraAnimation.AddComponent<CamAnimContrler>();
            //    CameraAnimation.AddComponent<CameraPath>();
            //    CameraAnimation.AddComponent<CameraPathAnimator>().playOnStart = false;
            //}
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("保存场景名称");
            string str       = EditorApplication.currentScene;
            string scenename = str.Substring(str.LastIndexOf("/") + 1, str.LastIndexOf(".") - str.LastIndexOf("/") - 1);

            Cameracontrler.ScenceName = EditorGUILayout.TextField(scenename);
            EditorGUILayout.EndHorizontal();

            if (GUILayout.Button("DONE"))
            {
                //PrefabUtility.CreatePrefab("Assets/Resources/Done/" + Cameracontrler.Name + ".prefab", Cameracontrler.gameObject);

                //实例化monsterdata
                CameraDataObj CamData = ScriptableObject.CreateInstance <CameraDataObj>();
                //添加数据给Camdata
                CamData.CamPointdataList = new List <Caminfo>();
                Transform CamTriggerPointGroup = Cameracontrler.transform.FindChild("CamTriggerPointGroup");
                Transform CamEnterPos          = Cameracontrler.transform.FindChild("CamEnterPos");
                Transform CamCenter            = Cameracontrler.transform.FindChild("CamCenter");
                Transform CamAnimationGroup    = Cameracontrler.transform.FindChild("CamAnimationGroup");
                for (int i = 0; i < CamTriggerPointGroup.childCount; i++)
                {
                    CamData.CamPointdataList.Add(CamTriggerPointGroup.GetChild(i).GetComponent <CamTriggerEvent>().info);
                }
                CamData.CamEnterPos        = CamEnterPos.position;
                CamData.CamCenter          = CamCenter.position;
                CamData.CamEnterTime       = Cameracontrler.CamEnterTime;
                CamData.CameraPos          = Camera.main.transform.position;
                CamData.CameraAngles       = Camera.main.transform.eulerAngles;
                CamData.CamAnimationsCount = CamAnimationGroup.childCount;
                //SysData将创建为一个对象,这时在project面板上会看到这个对象
#if UNITY_ANDROID
                Debug.Log("F**K!!!!!这里是安卓设备");
                string saveurl = "Assets/StreamingAssets/ScenceEditor/" + "Android/" + Cameracontrler.ScenceName + "/Camera/";
                if (Directory.Exists(saveurl) == false)
                {
                    Directory.CreateDirectory(saveurl);
                }
                string name = saveurl + Cameracontrler.ScenceName + "Cam" + ".asset";
                AssetDatabase.CreateAsset(CamData, name);
                Object o = AssetDatabase.LoadAssetAtPath(name, typeof(CameraDataObj));
                BuildPipeline.BuildAssetBundle(o, null, saveurl + Cameracontrler.ScenceName + "Cam" + ".assetbundle"
                                               , BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.Android);

                BuildPipeline.BuildAssetBundle(o, null, "Assets/StreamingAssets/AssetBundle/Android/" + Cameracontrler.ScenceName + "Cam" + ".assetbundle"
                                               , BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.Android);
#endif

#if UNITY_IPHONE
                Debug.Log("F**K!!!!!这里是苹果设备");
                string saveurl = "Assets/StreamingAssets/ScenceEditor/" + "IPhonePlayer/" + Cameracontrler.ScenceName + "/Camera/";
                if (Directory.Exists(saveurl) == false)
                {
                    Directory.CreateDirectory(saveurl);
                }
                string name = saveurl + Cameracontrler.ScenceName + "Cam" + ".asset";
                AssetDatabase.CreateAsset(CamData, name);
                Object o = AssetDatabase.LoadAssetAtPath(name, typeof(CameraDataObj));
                BuildPipeline.BuildAssetBundle(o, null, saveurl + Cameracontrler.ScenceName + "Cam" + ".assetbundle"
                                               , BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.iPhone);

                BuildPipeline.BuildAssetBundle(o, null, "Assets/StreamingAssets/AssetBundle/IOS/" + Cameracontrler.ScenceName + "Cam" + ".assetbundle"
                                               , BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.iPhone);
#endif

#if UNITY_STANDALONE_WIN
                Debug.Log("F**K!!!!!这是PC设备");
                string saveurl = "Assets/StreamingAssets/ScenceEditor/" + "WindowsEditor/" + Cameracontrler.ScenceName + "/Camera/";
                if (Directory.Exists(saveurl) == false)
                {
                    Directory.CreateDirectory(saveurl);
                }
                string name = saveurl + Cameracontrler.ScenceName + "Cam" + ".asset";
                AssetDatabase.CreateAsset(CamData, name);
                Object o = AssetDatabase.LoadAssetAtPath(name, typeof(CameraDataObj));
                BuildPipeline.BuildAssetBundle(o, null, saveurl + Cameracontrler.ScenceName + "Cam" + ".assetbundle"
                                               , BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.StandaloneWindows);

                BuildPipeline.BuildAssetBundle(o, null, "Assets/StreamingAssets/AssetBundle/PC/" + Cameracontrler.ScenceName + "Cam" + ".assetbundle"
                                               , BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.StandaloneWindows);
#endif
                string SavePath = "Assets/CEHUAYONG/ScenesPreb/" + Cameracontrler.ScenceName + "/";
                if (Directory.Exists(SavePath) == false)
                {
                    Directory.CreateDirectory(SavePath);
                }
                PrefabUtility.CreatePrefab(SavePath + Cameracontrler.name + ".prefab", Cameracontrler.gameObject);
                AssetDatabase.Refresh();
                EditorUtility.DisplayDialog("", "保存完成", "OK");
                //删除面板上的临时对象
                //AssetDatabase.DeleteAsset(name);
            }
        }