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();
    }
示例#3
0
        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));
        }
示例#4
0
    // 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;
 }