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]); } }
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); } }
/// <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"); }