Exemplo n.º 1
0
    MapDataSO GetOrCreateMapDataSO()
    {
        MapExporter mapExporter = (MapExporter)target;
        MapDataSO   mapDataSO   = (MapDataSO)AssetDatabase.LoadAssetAtPath(ResourcePaths.GetMapPathFromAssets(mapExporter.m_MapName), typeof(MapDataSO));

        if (mapDataSO == null)
        {
            mapDataSO = ScriptableObject.CreateInstance <MapDataSO> ();

            AssetDatabase.CreateAsset(mapDataSO, ResourcePaths.GetMapPathFromAssets(mapExporter.m_MapName) + ".asset");

            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }

        return(mapDataSO);
    }
Exemplo n.º 2
0
    void ExportMap()
    {
        MapExporter mapExporter = (MapExporter)target;

        if (string.IsNullOrEmpty(mapExporter.m_MapName))
        {
            Debug.LogError("Cannot save a map without Name");
            return;
        }
        MapDataSO mapDataSO = GetOrCreateMapDataSO();

        mapDataSO.m_MapDataInfo = mapExporter.CreateMapDataInfo();

        //AssetDatabase.AddObjectToAsset (mapDataSO, PATH_MAP_EXPORT);
        EditorUtility.SetDirty(mapDataSO);
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
    }
Exemplo n.º 3
0
    public MapInfo LoadMap(string aMapName)
    {
        string    path      = ResourcePaths.GetMapPath(aMapName);
        MapDataSO mapDataSO = (MapDataSO)Resources.Load(path, typeof(MapDataSO));

        GameObject mapContainer = new GameObject();

        mapContainer.name = MAP_NAME + aMapName;
        mapContainer.transform.SetParent(transform, false);

        MapInfo mapInfo = mapContainer.AddComponent <MapInfo> ();

        CreateGround(mapContainer, mapDataSO.m_MapDataInfo.m_GroundDataInfo);
        CreateCameraLimit(mapContainer, mapDataSO.m_MapDataInfo.m_CameraLimitDataInfo, mapInfo);
        CreateCollider(mapContainer, mapDataSO.m_MapDataInfo.m_ColliderDataInfo, mapInfo, mapDataSO.m_MapDataInfo.m_ActivatedColliderLayers);
        mapInfo.m_ListSpawnPoint = mapDataSO.m_MapDataInfo.m_SpawnPointDataInfo;
        CreateTeleport(mapContainer, mapDataSO.m_MapDataInfo.m_TeleportDataInfo, mapInfo);

        return(mapInfo);
    }