Exemplo n.º 1
0
        public static void SetSprite(RawImage image, string name)
        {
            DataSprite data = DataManager.Instance.Load <DataSprite>();

            TextureInformation information = data.GetTexture2D(name);

            if (information == null)
            {
                return;
            }

            if (textures.ContainsKey(information.name))
            {
                if (textures[information.name] != null)
                {
                    SetSprite(image, textures[information.name]);
                }
            }
            else
            {
                ResourceManager.LoadAsync <Texture2D>(information.path, (texture) =>
                {
                    if (texture != null)
                    {
                        SetSprite(image, texture);
                    }
                    Add(information.name, texture);
                });
            }
        }
Exemplo n.º 2
0
        public static void SetSprite(Image image, string name)
        {
            DataSprite data = DataManager.Instance.Load <DataSprite>();

            AtlasInformation information = data.GetAtlas(name);

            if (information == null)
            {
                return;
            }

            if (atlases.ContainsKey(information.name))
            {
                if (atlases[information.name] != null)
                {
                    SetSprite(image, atlases[information.name].GetSprite(name));
                }
            }
            else
            {
                ResourceManager.LoadAsync <SpriteAtlas>(information.path, (atlas) =>
                {
                    if (atlas != null)
                    {
                        SetSprite(image, atlas.GetSprite(name));
                    }
                    Add(information.name, atlas);
                });
            }
        }
Exemplo n.º 3
0
        public static void SetSprite(SpriteRenderer renderer, string name)
        {
            DataSprite data = DataManager.Instance.Load <DataSprite>();

            SpriteInformation information = data.GetSprite(name);

            if (information == null)
            {
                return;
            }

            if (sprites.ContainsKey(information.name))
            {
                if (sprites[information.name] != null)
                {
                    SetSprite(renderer, sprites[information.name]);
                }
            }
            else
            {
                ResourceManager.LoadAsync <Sprite>(information.path, (sprite) =>
                {
                    if (sprite != null)
                    {
                        SetSprite(renderer, sprite);
                    }
                    Add(information.name, sprite);
                });
            }
        }
Exemplo n.º 4
0
    public static void DetailSeeds()
    {
        DataStorage dataStorage = ScriptableObject.CreateInstance <DataStorage>();
        DataShop    dataShop    = ScriptableObject.CreateInstance <DataShop>();
        DataMachine dataMachine = ScriptableObject.CreateInstance <DataMachine>();
        DataSprite  dataSprite  = ScriptableObject.CreateInstance <DataSprite>();

        AssetDatabase.CreateAsset(dataStorage, "Assets/Data/Data/DataStorage.asset");
        AssetDatabase.CreateAsset(dataShop, "Assets/Data/Data/DataShop.asset");
        AssetDatabase.CreateAsset(dataMachine, "Assets/Data/Data/DataMachine.asset");
        AssetDatabase.CreateAsset(dataSprite, "Assets/Data/Data/DataSprite.asset");

        AssetDatabase.SaveAssets();
        EditorUtility.FocusProjectWindow();
        Selection.activeObject = dataStorage;
        Selection.activeObject = dataShop;
        Selection.activeObject = dataMachine;
        Selection.activeObject = dataSprite;
    }
Exemplo n.º 5
0
        protected static void LoadDataSprite()
        {
            DataSprite data = Load <DataSprite>();

            data.atlases = new List <AtlasInformation>();

            string[] guids = AssetDatabase.FindAssets("t:SpriteAtlas", new string[] { "Assets/Package" });

            string path;

            foreach (var guid in guids)
            {
                path = AssetDatabase.GUIDToAssetPath(guid);

                SpriteAtlas asset = AssetDatabase.LoadAssetAtPath <SpriteAtlas>(path);

                if (asset != null)
                {
                    AtlasInformation atlas = new AtlasInformation()
                    {
                        name    = asset.name,
                        path    = path.Replace("Assets/", string.Empty),
                        sprites = new List <string>(asset.spriteCount),
                    };

                    Sprite[] sprites = new Sprite[asset.spriteCount];

                    asset.GetSprites(sprites);

                    for (int i = 0; i < sprites.Length; i++)
                    {
                        atlas.sprites.Add(sprites[i].name.Remove(sprites[i].name.Length - 7, 7));
                    }
                    data.atlases.Add(atlas);
                }
            }
            AssetDatabase.SaveAssets(); AssetDatabase.Refresh();
        }