public void InitAssetLibarySettingWindows(LibaryAssetSetting _resourseSetting) { this.resourseSetting = _resourseSetting; this.minSize = new Vector2(960, 720); this.Show(); }
//[MenuItem("Assets/InsertAssetLibary")] static void ExportResource() { LibaryAssetSetting _assetSetting = Resources.Load <LibaryAssetSetting>("AssetLibarySetting"); if (_assetSetting == null) { return; } string path = AssetDatabase.GetAssetPath(_assetSetting); LibaryAssetSetting assetSetting = AssetDatabase.LoadAssetAtPath <LibaryAssetSetting>(path); if (assetSetting == null) { return; } // 选择的要保存的对象 Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); foreach (Object item in selection) { if (item == null || item.GetType() == typeof(DefaultAsset)) { continue; } if (ResLibaryConfig.ExistType.ContainsValue(item.GetType().Name)) { if (item.GetType().Name == ResLibaryConfig.ExistType[LibaryTypeEnum.LibaryType_Texture2D]) { string tex2dpath = AssetDatabase.GetAssetPath(item); TextureImporter textureImporter = TextureImporter.GetAtPath(tex2dpath) as TextureImporter; //SpriteMetaData[] sprs = textureImporter.spritesheet; if (textureImporter.textureType == TextureImporterType.Sprite) { Object[] sprs = AssetDatabase.LoadAllAssetsAtPath(tex2dpath); for (int i = 0; i < sprs.Length; i++) { //Sprite spr = AssetDatabase.LoadAssetAtPath<Sprite>(textPath + "/"+ sprs[i].name); Object spr = sprs[i]; if (spr != null && spr.GetType().Name == ResLibaryConfig.ExistType[LibaryTypeEnum.LibaryType_Sprite]) { assetSetting.AddResToLibary((Sprite)spr); } } if (textureImporter.spriteImportMode != SpriteImportMode.Multiple) { assetSetting.AddResToLibary(item); } } } else { assetSetting.AddResToLibary(item); } } } EditorUtility.SetDirty(assetSetting); AssetDatabase.ImportAsset(path); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
void ILibaryHandle.InsertLibrary(object data) { if (data.GetType().Name != "LibaryAssetSetting") { return; } LibaryAssetSetting assetSetting = (LibaryAssetSetting)data; ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.texture2ds)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.renderTextures)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.movieTextures)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.sprites)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.materials)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.textAssets)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.prefabs)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.audios)); ResLibaryTool.UTStartCoroutine(InitLibaryAssetSetting(assetSetting.videos)); }
// Use this for initialization IEnumerator Start() { LibaryAssetSetting assetSet = Resources.Load <LibaryAssetSetting>("AssetLibarySetting"); LibaryResourceSetting resourceSet = Resources.Load <LibaryResourceSetting>("ResourceLibarySetting"); LibaryStreamingAssetSetting streamingAssetsSet = Resources.Load <LibaryStreamingAssetSetting>("StreamingAssetLibarySetting"); ResLibaryMgr.Instance.InsertLibrary(assetSet); ResLibaryMgr.Instance.InsertLibrary(resourceSet); ResLibaryMgr.Instance.InsertLibrary(streamingAssetsSet); yield return(new WaitForSeconds(2)); //rawImage.texture = Resources.Load<Texture2D>("1"); //rawImage.texture = ResLibaryMgr.Instance.GetTexture2d("beautifulgirl_01"); //rawImage.texture = (Texture2D)ResLibaryMgr.Instance.getLibaryObj("beautifulgirl_01"); rawImage1.texture = ResLibaryMgr.Instance.GetTexture2d("beautifulgirl"); rawImage2.texture = ResLibaryMgr.Instance.GetTexture2d("beautifulgirl_01"); rawImage3.texture = ResLibaryMgr.Instance.GetTexture2d("1"); }
static void RemoveResource() { LibaryAssetSetting _assetSetting = Resources.Load <LibaryAssetSetting>("AssetLibarySetting"); if (_assetSetting == null) { return; } string path = AssetDatabase.GetAssetPath(_assetSetting); LibaryAssetSetting assetSetting = AssetDatabase.LoadAssetAtPath <LibaryAssetSetting>(path); if (assetSetting == null) { return; } // 选择的要保存的对象 Dictionary <string, List <string> > dictMsg = assetSetting.GetAssetDict(); Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); foreach (Object item in selection) { if (item == null || item.GetType() == typeof(DefaultAsset)) { continue; } if (ResLibaryConfig.ExistType.ContainsValue(item.GetType().Name)) { if (item.GetType() == typeof(Texture2D)) { string tex2dpath = AssetDatabase.GetAssetPath(item); TextureImporter textureImporter = TextureImporter.GetAtPath(tex2dpath) as TextureImporter; if (textureImporter.textureType == TextureImporterType.Sprite) { Object[] sprs = AssetDatabase.LoadAllAssetsAtPath(tex2dpath); for (int i = 0; i < sprs.Length; i++) { Object spr = sprs[i]; if (spr != null && spr.GetType() == typeof(Sprite)) { List <string> sprslist; dictMsg.TryGetValue(spr.GetType().Name, out sprslist); if (sprslist != null && sprslist.Contains(spr.name)) { int dindex = sprslist.FindLastIndex(x => x == spr.name); assetSetting.DelResToLibary(spr.GetType().Name, dindex); } } } if (textureImporter.spriteImportMode != SpriteImportMode.Multiple) { List <string> sprslist; dictMsg.TryGetValue(item.GetType().Name, out sprslist); if (sprslist != null && sprslist.Contains(item.name)) { int dindex = sprslist.FindLastIndex(x => x == item.name); assetSetting.DelResToLibary(item.GetType().Name, dindex); } } } } } else { List <string> sprslist; dictMsg.TryGetValue(item.GetType().Name, out sprslist); if (sprslist != null && sprslist.Contains(item.name)) { int dindex = sprslist.FindLastIndex(x => x == item.name); assetSetting.DelResToLibary(item.GetType().Name, dindex); } } } AssetDatabase.ImportAsset(path); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
private void OnEnable() { resLibaryAsset = target as LibaryAssetSetting; }