Texture2DArray LoadTextureArray(WorldAtlas atlas, string channel) { var path = atlas.GetAssetFolderPath(); path = path + "/TextureArrays/" + atlas.name + "_" + channel + "TextureArray.asset"; return(AssetDatabase.LoadAssetAtPath <Texture2DArray>(path)); }
void SaveTextureArray(WorldAtlas atlas, Texture2DArray array, string channel) { var folder = atlas.GetAssetFolderPath(); var path = folder + "/TextureArrays/" + atlas.name + "_" + channel + "TextureArray.asset"; var existing = AssetDatabase.LoadAssetAtPath <Texture2DArray>(path); if (existing != null) { EditorUtility.CopySerialized(array, existing); EditorUtility.SetDirty(existing); } else { Utils.CreateAssetFolder(folder, "TextureArrays"); AssetDatabase.CreateAsset(array, path); } }
WorldAtlasClientData SaveAtlasClientData(WorldAtlas atlas, WorldAtlasClientData clientData) { var folder = atlas.GetAssetFolderPath(); var path = folder + "/Resources/" + atlas.name + "_AtlasClientData.asset"; var existing = AssetDatabase.LoadAssetAtPath <WorldAtlasClientData>(path); if (existing != null) { EditorUtility.CopySerialized(clientData, existing); EditorUtility.SetDirty(existing); clientData = existing; } else { Utils.CreateAssetFolder(folder, "Resources"); AssetDatabase.CreateAsset(clientData, path); clientData = AssetDatabase.LoadAssetAtPath <WorldAtlasClientData>(path); } return(clientData); }
WorldAtlasData SaveAtlasData(WorldAtlas atlas, WorldAtlasData atlasData) { var path = atlas.GetAssetFolderPath(); path = path + "/" + atlas.name + "_AtlasData.asset"; var existing = AssetDatabase.LoadAssetAtPath <WorldAtlasData>(path); if (existing != null) { EditorUtility.CopySerialized(atlasData, existing); EditorUtility.SetDirty(existing); atlasData = existing; } else { AssetDatabase.CreateAsset(atlasData, path); atlasData = AssetDatabase.LoadAssetAtPath <WorldAtlasData>(path); } return(atlasData); }