示例#1
0
    void LoadSceneAsset()
    {
        filePath = EditorUtility.OpenFilePanel("打开", filePath, "asset");
        if (string.IsNullOrEmpty(filePath) || !filePath.Contains(".asset"))
        {
            return;
        }
        MapWorldAsset mapWorldAsset = (MapWorldAsset)AssetDatabase.LoadAssetAtPath("Assets" + filePath.Replace(Application.dataPath, ""), typeof(MapWorldAsset));

        if (mapWorldAsset != null)
        {
            for (int i = 0; i < mapWorldAsset.mapScenes.Count; i++)
            {
                currMapScene           = new GameObject("Map" + (i + 1)).AddComponent <MapScene>();
                currMapScene.offsetX   = mapWorldAsset.mapScenes[i].offsetX;
                currMapScene.offsetY   = mapWorldAsset.mapScenes[i].offsetY;
                currMapScene.mapSizeX  = mapWorldAsset.mapScenes[i].mapSizeX;
                currMapScene.mapSizeY  = mapWorldAsset.mapScenes[i].mapSizeY;
                currMapScene.worldType = mapWorldAsset.mapScenes[i].worldType;
                currMapScene.layers    = new List <MapEditorSortLayer>(mapWorldAsset.mapScenes[i].layers);
                for (int n = 0; n < mapWorldAsset.mapScenes[i].layerItems.Count; n++)
                {
                    currMapScene.layerItems.Add(new MapLayerItem());
                    currMapScene.layerItems[n].posList = new List <int>(mapWorldAsset.mapScenes[i].layerItems[n].posList);
                    currMapScene.layerItems[n].items   = new List <MapResourceItem>(mapWorldAsset.mapScenes[i].layerItems[n].items);
                }
                mapSceneList.Add(currMapScene);
                currMapScene.FreshMapGrid();
                currMapScene.UpdateMap();
            }
        }
        FreshResource();
    }
示例#2
0
 void OnFocus()
 {
     mapSceneList = GameObject.FindObjectsOfType <MapScene>().ToList <MapScene>();
     if (currMapScene == null && mapSceneList.Count > 0)
     {
         currMapScene = mapSceneList[0];
     }
     if (currMapScene != null)
     {
         FreshResource();
         currMapScene.FreshMapGrid();
     }
     Selection.selectionChanged    = OnSelectObj;
     SceneView.onSceneGUIDelegate += this.OnSceneGUI;
 }