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();
        }
 /// <summary>
 /// 初始化关卡动画数据
 /// 是否
 /// </summary>
 /// <param name="Storydata">关卡动画数据组</param>
 public void Init(StoryAnimDataObj Storydata, bool isLocal, MonsterGroupDataObjMgr monsterdata = null, EM_SCENE_TYPE sceneType = EM_SCENE_TYPE.NORMAL, int beginFightCount = 1)
 {
     IsLocal          = isLocal;
     Monstersdata     = monsterdata;
     mSceneType       = sceneType;
     mBeginFightCount = beginFightCount;
     if (Monstersdata != null)
     {
         CurrentMonsterGroupCount = monsterdata.Count;
     }
     if (Storydata == null)
     {
         return;
     }
     if (isLocal)
     {
         StoryCamAnimsObj = GameObject.Find(Storydata.StoryCamAnimsName);
         StoryCamAnim     = StoryCamAnimsObj.GetComponent <Animation>();
     }
     else
     {
         Object objType = AssetLoader.Inst.GetEditorAssetRes(Storydata.StoryCamAnimsName);
         StoryCamAnimsObj = Instantiate(objType) as GameObject;
         StoryCamAnimsObj.transform.parent = this.transform;
         StoryCamAnim = StoryCamAnimsObj.GetComponent <Animation>();
     }
     Dic_StoryAnim = new Dictionary <int, StoryAnimGroup>();
     for (int i = 0; i < Storydata.StoryAnimGroupList.Count; ++i)
     {
         Dic_StoryAnim.Add(Storydata.StoryAnimGroupList[i].ID, Storydata.StoryAnimGroupList[i]);
     }
 }
Beispiel #3
0
        private IEnumerator LoadAssetbundle()
        {
            string path = "IPhonePlayer";

            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                path = "IPhonePlayer";
            }
            StoryAnim = new WWW("file:///" + Application.dataPath + "/StreamingAssets/ScenceEditor/" + path + "/" + SceneName + "/StoryAnim/" + SceneName + "StoryAnim" + ".assetbundle");
            yield return(StoryAnim);

            if (StoryAnim.error != null)
            {
                Debug.Log(StoryAnim.error);
            }
            if (StoryAnim.isDone)
            {
                StoryObj = StoryAnim.assetBundle.mainAsset as StoryAnimDataObj;
                StoryAnimEditorContrler.GetInst().Init(StoryObj, true);
                Camera.main.transform.parent           = GameObject.Find("StoryTempContrler").transform.GetChild(0);
                Camera.main.transform.localPosition    = Vector3.zero;
                Camera.main.transform.localEulerAngles = Vector3.zero;
                Invoke("hehe", 0.2f);
            }
        }
Beispiel #4
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);
 }
        private void DoneObj()
        {
            StoryAnimDataObj StoryAnimData = ScriptableObject.CreateInstance <StoryAnimDataObj>();

            StoryAnimData.StoryCamAnimsName  = StoryAnimTemp.transform.GetChild(0).name;
            StoryAnimData.StoryAnimGroupList = new List <StoryAnimGroup>();
            for (int i = 1; i < StoryAnimTemp.transform.childCount; ++i)
            {
                StoryAnimData.StoryAnimGroupList.Add(StoryAnimTemp.transform.GetChild(i).GetComponent <StoryAnim>().Adddata());
            }
#if UNITY_ANDROID
            string saveurl = "Assets/StreamingAssets/ScenceEditor/" + "Android/" + StoryAnimTemp.SceneName + "/StoryAnim/";
            if (Directory.Exists(saveurl) == false)
            {
                Directory.CreateDirectory(saveurl);
            }
            string name = saveurl + StoryAnimTemp.SceneName + "StoryAnim";
            AssetDatabase.CreateAsset(StoryAnimData, name + ".asset");
            Object o = AssetDatabase.LoadAssetAtPath(name + ".asset", typeof(StoryAnimDataObj));
            BuildPipeline.BuildAssetBundle(o, null, name + ".assetbundle",
                                           BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.Android);

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

#if UNITY_IPHONE
            string saveurl = "Assets/StreamingAssets/ScenceEditor/" + "IPhonePlayer/" + StoryAnimTemp.SceneName + "/StoryAnim/";
            if (Directory.Exists(saveurl) == false)
            {
                Directory.CreateDirectory(saveurl);
            }
            string name = saveurl + StoryAnimTemp.SceneName + "StoryAnim";
            AssetDatabase.CreateAsset(StoryAnimData, name + ".asset");
            Object o = AssetDatabase.LoadAssetAtPath(name + ".asset", typeof(StoryAnimDataObj));

            BuildPipeline.BuildAssetBundle(o, null, name + ".assetbundle",
                                           BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.iPhone);

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

#if UNITY_STANDALONE_WIN
            string saveurl = "Assets/StreamingAssets/ScenceEditor/" + "WindowsEditor/" + StoryAnimTemp.SceneName + "/StoryAnim/";
            if (Directory.Exists(saveurl) == false)
            {
                Directory.CreateDirectory(saveurl);
            }
            string name = saveurl + StoryAnimTemp.SceneName + "StoryAnim";
            AssetDatabase.CreateAsset(StoryAnimData, name + ".asset");
            Object o = AssetDatabase.LoadAssetAtPath(name + ".asset", typeof(StoryAnimDataObj));

            BuildPipeline.BuildAssetBundle(o, null, name + ".assetbundle",
                                           BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.StandaloneWindows);

            BuildPipeline.BuildAssetBundle(o, null, "Assets/StreamingAssets/AssetBundle/PC/" + StoryAnimTemp.SceneName + "StoryAnim" + ".assetbundle",
                                           BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.StandaloneWindows);
#endif
            AssetDatabase.Refresh();
            EditorUtility.DisplayDialog("", "保存完成", "OK");
        }