微端作为当下主流的一种游戏模式,所以我们领导层决策要将开发了3年的项目实现微端模式,这也是写这篇博客的起因,其次也是想对自己最近一段时间的工作做一个总结。
项目开始前肯定要先做一个相关知识和信息的收集,主要的参考文献有http://www.jb51.net/softjc/233236.html和http://www.xuanyusong.com/archives/1919,通过对以上的了解基本可以知道微端场景加载的实现方法,剩下的就是根据具体项目的需求做一些相应的改进,以及功能的补充。
实际的项目场景比较复杂肯定不能将整个场景全部用微端的方式来加载,必然有一些必要的资源需要留下。
<pre name="code" class="csharp">using UnityEngine;
using UnityEditor;
using System.Xml;
using System.IO;
using System.Collections.Generic;
public class ExportEditorXml : MonoBehaviour
{
[MenuItem("Assets/Export Scene To XML From Selection")]
static void ExportXML()
{
string path = EditorUtility.SaveFilePanel("Save Resource", "", "New Resource", "xml");
Queue<GameObject> rootObj = new Queue<GameObject>();
Queue<string> prefabObjectQueue = new Queue<string>();
BuildAssetBundleOptions options =
BuildAssetBundleOptions.DisableWriteTypeTree |
BuildAssetBundleOptions.CollectDependencies |
BuildAssetBundleOptions.CompleteAssets;
//string pathAsset = Application.dataPath + "/Bundles/" + f.Name.Substring(0, f.Name.LastIndexOf(".")) + ".bundle";
if (path.Length != 0)
{
Object[] selectedAssetList = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
//遍历所有的游戏对象
foreach (Object selectObject in selectedAssetList)
{
//Debug.Log("select name = " + selectObject.name);
// 场景名称
string sceneName = selectObject.name;
// 场景路