Ejemplo n.º 1
0
        public TextureExportCollection(IAssetExporter assetExporter, Texture2D texture, bool convert) :
            base(assetExporter, texture, CreateImporter(texture, convert))
        {
            m_convert = convert;
            if (convert)
            {
                TextureImporter textureImporter          = (TextureImporter)MetaImporter;
                Dictionary <Sprite, SpriteAtlas> sprites = new Dictionary <Sprite, SpriteAtlas>();
                foreach (Object asset in texture.File.Collection.FetchAssets())
                {
                    switch (asset.ClassID)
                    {
                    case ClassIDType.Sprite:
                    {
                        Sprite sprite = (Sprite)asset;
                        if (sprite.RD.Texture.IsAsset(sprite.File, texture))
                        {
                            SpriteAtlas atlas = Sprite.IsReadRendererData(sprite.File.Version) ? sprite.SpriteAtlas.FindAsset(sprite.File) : null;
                            sprites.Add(sprite, atlas);
                            AddAsset(sprite);
                        }
                    }
                    break;

                    case ClassIDType.SpriteAtlas:
                    {
                        SpriteAtlas atlas = (SpriteAtlas)asset;
                        foreach (PPtr <Sprite> spritePtr in atlas.PackedSprites)
                        {
                            Sprite sprite = spritePtr.FindAsset(atlas.File);
                            if (sprite != null)
                            {
                                SpriteAtlasData atlasData = atlas.RenderDataMap[sprite.RenderDataKey];
                                if (atlasData.Texture.IsAsset(atlas.File, texture))
                                {
                                    sprites.Add(sprite, atlas);
                                    AddAsset(sprite);
                                }
                            }
                        }
                    }
                    break;
                    }
                }
                textureImporter.Sprites = sprites;
            }
        }
Ejemplo n.º 2
0
    public void Init(LocalSkillData skillData, List <SkillData> myskillDatas)
    {
        SkillData newSkill = new SkillData(skillData.id, skillData.name, skillData.des,
                                           skillData.atk, skillData.cd, skillData.icon, skillData.price, skillData.mana);

        //注册点击事件
        LearnSkillButton.onClick.RemoveAllListeners();
        LearnSkillButton.onClick.AddListener(() => {
            LearnSkill(newSkill, skillData.price);
        });

        //图集获取数据
        SpriteAtlas sa = ResManager.Instance.Load <SpriteAtlas>("UI/Skill/SkillAtlas");

        sillImage.sprite     = sa.GetSprite(skillData.icon);
        skillNameText.text   = skillData.name;
        SkillAtkText.text    = skillData.atk.ToString();
        SkilManaText.text    = skillData.mana.ToString();
        SkillCdText.text     = skillData.cd.ToString();
        SkillDesText.text    = skillData.des;
        DiamondCostText.text = skillData.price.ToString();

        //控制是否显示学习技能
        //如果拥有该技能那么不弹
        //如果没有该技能就谈

        for (int i = 0; i < myskillDatas.Count; i++)
        {
            if (skillData.id == myskillDatas[i].id)
            {
                isHave = true;
                break;
            }
            if (i == myskillDatas.Count - 1)
            {
                isHave = false;
            }
        }
        if (isHave == true)
        {
            LearnSkillButton.gameObject.SetActive(false);
        }
        else
        {
            LearnSkillButton.gameObject.SetActive(true);
        }
    }
        public TextureExportCollection(IAssetExporter assetExporter, Texture2D texture, bool convert) :
            base(assetExporter, texture)
        {
            m_convert = convert;
            if (convert)
            {
                foreach (Object asset in texture.File.Collection.FetchAssets())
                {
                    switch (asset.ClassID)
                    {
                    case ClassIDType.Sprite:
                    {
                        Sprite sprite = (Sprite)asset;
                        if (sprite.RD.Texture.IsAsset(sprite.File, texture))
                        {
                            SpriteAtlas atlas = Sprite.HasRendererData(sprite.File.Version) ? sprite.SpriteAtlas.FindAsset(sprite.File) : null;
                            m_sprites.Add(sprite, atlas);
                            AddAsset(sprite);
                        }
                    }
                    break;

                    case ClassIDType.SpriteAtlas:
                    {
                        SpriteAtlas atlas = (SpriteAtlas)asset;
                        if (atlas.RenderDataMap.Count > 0)
                        {
                            foreach (PPtr <Sprite> spritePtr in atlas.PackedSprites)
                            {
                                Sprite sprite = spritePtr.FindAsset(atlas.File);
                                if (sprite != null)
                                {
                                    SpriteAtlasData atlasData = atlas.RenderDataMap[sprite.RenderDataKey];
                                    if (atlasData.Texture.IsAsset(atlas.File, texture))
                                    {
                                        m_sprites.Add(sprite, atlas);
                                        AddAsset(sprite);
                                    }
                                }
                            }
                        }
                    }
                    break;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public override void OnInspectorGUI()
        {
            SpriteAtlasInspector.s_Styles = (SpriteAtlasInspector.s_Styles ?? new SpriteAtlasInspector.Styles());
            base.serializedObject.Update();
            this.HandleCommonSettingUI();
            GUILayout.Space(5f);
            if (this.AllTargetsAreVariant())
            {
                this.HandleVariantSettingUI();
            }
            else if (this.AllTargetsAreMaster())
            {
                this.HandleMasterSettingUI();
            }
            GUILayout.Space(5f);
            this.HandleTextureSettingUI();
            GUILayout.Space(5f);
            if (base.targets.Length == 1 && this.AllTargetsAreMaster())
            {
                this.HandlePackableListUI();
            }
            bool flag = EditorSettings.spritePackerMode == SpritePackerMode.BuildTimeOnlyAtlas || EditorSettings.spritePackerMode == SpritePackerMode.AlwaysOnAtlas;

            if (flag)
            {
                if (GUILayout.Button(SpriteAtlasInspector.s_Styles.packButton, new GUILayoutOption[]
                {
                    GUILayout.ExpandWidth(false)
                }))
                {
                    SpriteAtlas[] array = new SpriteAtlas[base.targets.Length];
                    for (int i = 0; i < array.Length; i++)
                    {
                        array[i] = (SpriteAtlas)base.targets[i];
                    }
                    SpriteAtlasUtility.PackAtlases(array, EditorUserBuildSettings.activeBuildTarget);
                    this.SyncPlatformSettings();
                    GUIUtility.ExitGUI();
                }
            }
            else
            {
                EditorGUILayout.HelpBox(SpriteAtlasInspector.s_Styles.disabledPackLabel.text, MessageType.Info);
            }
            base.serializedObject.ApplyModifiedProperties();
        }
Ejemplo n.º 5
0
        private bool AllTargetsAreMaster()
        {
            UnityEngine.Object[] targets = base.targets;
            bool result;

            for (int i = 0; i < targets.Length; i++)
            {
                SpriteAtlas spriteAtlas = (SpriteAtlas)targets[i];
                if (spriteAtlas.isVariant)
                {
                    result = false;
                    return(result);
                }
            }
            result = true;
            return(result);
        }
Ejemplo n.º 6
0
    public void RequestAtlas(string tag, System.Action <SpriteAtlas> callback)
    {
        Action <AsyncOperationHandle <SpriteAtlas> > loadCallBack = (data) =>
        {
            if (data.Result != null)
            {
                SpriteAtlas spriteAtlas = data.Result;
                if (spriteAtlas != null)
                {
                    callback?.Invoke(spriteAtlas);
                }
            }
        };

        LoadAddressablesUtil.LoadAssetAsync(manager.PathSpriteAtlasForUI, loadCallBack);
        LoadAddressablesUtil.LoadAssetAsync(manager.PathSpriteAtlasForItems, loadCallBack);
    }
    static int set_value(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            ComponentCache.Injection <SpriteAtlas> obj = (ComponentCache.Injection <SpriteAtlas>)o;
            SpriteAtlas arg0 = (SpriteAtlas)ToLua.CheckObject <SpriteAtlas>(L, 2);
            obj.value = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index value on a nil value"));
        }
    }
    static int get_value(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            ComponentCache.Injection <SpriteAtlas> obj = (ComponentCache.Injection <SpriteAtlas>)o;
            SpriteAtlas ret = obj.value;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index value on a nil value"));
        }
    }
Ejemplo n.º 9
0
        // [MenuItem("AtlasTools/AtlasMaker By Sprite")]
        public static void CreateAtlasBySprite()
        {
            if (!CheckConfig())
            {
                return;
            }

            UpdateAtlasSprite();

            DirectoryInfo rootDirInfo = new DirectoryInfo(sptSrcDir);

            //add sprite

            List <Sprite> spts = new List <Sprite>();

            foreach (DirectoryInfo dirInfo in rootDirInfo.GetDirectories())
            {
                spts.Clear();
                foreach (FileInfo pngFile in dirInfo.GetFiles("*.png", SearchOption.AllDirectories))
                {
                    string allPath   = pngFile.FullName;
                    string assetPath = allPath.Substring(allPath.IndexOf("Assets"));
                    Sprite sprite    = AssetDatabase.LoadAssetAtPath <Sprite>(assetPath);
                    if (IsPackable(sprite))
                    {
                        spts.Add(sprite);
                    }
                }
                string atlasName = dirInfo.Name + ".spriteatlas";
                if (IsAtlasExists(atlasName))
                {
                    SpriteAtlas atlas = Resources.Load <SpriteAtlas>(atlasRelativePath + dirInfo.Name);
                    RefreshAtlas(atlas);
                    AssetDatabase.Refresh();

                    continue;
                }
                CreateAtlas(atlasName);
                SpriteAtlas sptAtlas = Resources.Load <SpriteAtlas>(atlasRelativePath + dirInfo.Name);
                Debug.Log(sptAtlas.tag);
                AddPackAtlas(sptAtlas, spts.ToArray());
            }


            //add texture by your self
        }
Ejemplo n.º 10
0
    public void Init(LocalEquipData equipData)
    {
        string addType   = "";
        int    ValueText = 0;

        switch (equipData.equipType)
        {
        case EquipType.Armor:
            addType   = "增加防御:";
            ValueText = equipData.addDef;
            break;

        case EquipType.Helmet:
            addType   = "增加血量:";
            ValueText = equipData.addHp;
            break;

        case EquipType.Necklace:
            addType   = "增加魔法:";
            ValueText = equipData.addMana;
            break;

        case EquipType.Ring:
            addType   = "增加血量:";
            ValueText = equipData.addHp;
            break;

        case EquipType.shoes:
            addType   = "增加移速:";
            ValueText = equipData.addSpeed;
            break;

        case EquipType.weapon:
            addType   = "增加攻击:";
            ValueText = equipData.addAtk;
            break;
        }

        EquipNameText.text     = equipData.name;
        EquipPropertyText.text = addType;
        EquipValueText.text    = ValueText.ToString();
        EquipDesText.text      = equipData.des;
        SpriteAtlas sa = ResManager.Instance.Load <SpriteAtlas>("UI/equip/EquipAtlas");

        skillimage.sprite = sa.GetSprite(equipData.icon);
    }
Ejemplo n.º 11
0
 public Sprite Get_RewardSprite(MG_RewardType _RewardType)
 {
     if (dic_rewardType_sp.TryGetValue((int)_RewardType, out Sprite result))
     {
         return(result);
     }
     else
     {
         if (rewardSA is null)
         {
             rewardSA = MG_UIManager.Instance.GetSpriteAtlas((int)MG_PopPanelType.MostRewardPanel);
         }
         result = rewardSA.GetSprite("MG_Sprite_Reward_" + _RewardType);
         dic_rewardType_sp.Add((int)_RewardType, result);
         return(result);
     }
 }
Ejemplo n.º 12
0
    // Start is called before the first frame update
    void Awake()
    {
        if (instance != null && instance != this)
        {
            Destroy(gameObject);
        }

        else if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(gameObject);
        }
        UISprite = Resources.Load <SpriteAtlas>(GlobalReferences.PathReferences.UI_BuffPath + GlobalReferences.UIReferences.UIAtlas);
        bgmlists = new List <AudioClip>(Resources.LoadAll <AudioClip>(GlobalReferences.PathReferences.BGMPath));
        sfxlists = new List <AudioClip>(Resources.LoadAll <AudioClip>(GlobalReferences.PathReferences.SFXPath));
        mixer    = Resources.Load <AudioMixer>(GlobalReferences.PathReferences.MixerPath);
    }
Ejemplo n.º 13
0
            private SpriteCache(SpriteAtlas atlas)
            {
                Sprite[] sprites = new Sprite[atlas.spriteCount];
                atlas.GetSprites(sprites: sprites);

                foreach (Sprite entry in sprites)
                {
                    int index = entry.name.IndexOf(value: "(", comparisonType: StringComparison.Ordinal);

                    if (index >= 0)
                    {
                        entry.name = entry.name.Substring(startIndex: 0, length: index);
                    }

                    Sprite[key : entry.name] = entry;
                }
            }
Ejemplo n.º 14
0
        public void CreateDazhongMahjongGame(SpriteAtlas atlas)
        {
            btnMahjong = Object.Instantiate(app.gameBtnPrefab);
            Object.DontDestroyOnLoad(btnMahjong);

            Button button = btnMahjong.GetComponent <Button>();

            button.gameObject.GetComponent <Image>().sprite = atlas.GetSprite("hall_btn_room1");

            SpriteState ss = new SpriteState();

            ss.pressedSprite   = atlas.GetSprite("hall_btn_room1_1");
            button.spriteState = ss;

            //
            select_room_title = atlas.GetSprite("select_room_1");
        }
Ejemplo n.º 15
0
    public static int get_isVariant(IntPtr l)
    {
        int result;

        try
        {
            SpriteAtlas spriteAtlas = (SpriteAtlas)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, spriteAtlas.isVariant);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Ejemplo n.º 16
0
        public SpriteAtlas Create(string fullPath)
        {
            if (string.IsNullOrEmpty(fullPath))
            {
                return(null);
            }

            var atlas = new SpriteAtlas();

            var atlasTextureSettings = new SpriteAtlasTextureSettings();

            atlasTextureSettings.generateMipMaps = _atlasSettings.GenerateMipMaps;
            atlasTextureSettings.filterMode      = _atlasSettings.FilterMode;
            atlasTextureSettings.readable        = _atlasSettings.ReadWriteEnabled;
            atlasTextureSettings.sRGB            = _atlasSettings.SRgb;

            var atlasPackingSettings = new SpriteAtlasPackingSettings();

            atlasPackingSettings.padding            = _atlasSettings.Padding;
            atlasPackingSettings.enableRotation     = _atlasSettings.AllowRotation;
            atlasPackingSettings.enableTightPacking = _atlasSettings.TightPacking;

            var platformSettings = new TextureImporterPlatformSettings();

            platformSettings.textureCompression  = _atlasSettings.Compression;
            platformSettings.maxTextureSize      = _atlasSettings.MaxTextureSize;
            platformSettings.format              = (TextureImporterFormat)_atlasSettings.Format;
            platformSettings.crunchedCompression = _atlasSettings.UseCrunchCompression;
            platformSettings.compressionQuality  = _atlasSettings.CompressionQuality;

            atlas.SetTextureSettings(atlasTextureSettings);
            atlas.SetPackingSettings(atlasPackingSettings);
            atlas.SetPlatformSettings(platformSettings);

            atlas.SetIncludeInBuild(_atlasSettings.IncludeInBuild);
            atlas.SetIsVariant(_atlasSettings.Type == SpriteAtlasType.Variant);

            EditorFileUtils.CreateDirectories(fullPath);
            AssetDatabase.CreateAsset(atlas, fullPath);

            AssetDatabase.SaveAssets();

            AssetDatabase.WriteImportSettingsIfDirty(fullPath);

            return(atlas);
        }
Ejemplo n.º 17
0
        public override void OnStart(Transform transform)
        {
            baseHelper = new MultipleRectCircleHelper <HeroItem>(transform, () => {
                return(new SimpleItem());
            });
            HeroItems = Resources.Load <SpriteAtlas>("HeroItems");
            for (int i = 0; i < HeroName.Length; ++i)
            {
                //模拟人物数据
                HeroItem heroItem;
                heroItem.HeroIMG  = "HeroItems_" + i;
                heroItem.HeroName = HeroName[i];
                baseHelper.AddItem(heroItem);
            }

            baseHelper.OnStart();
        }
Ejemplo n.º 18
0
    private void RequestAtlas(string name, System.Action <SpriteAtlas> callback)
    {
        Debug.Log("name: " + name);
        if (loadedSpriteAtlases == null)
        {
            loadedSpriteAtlases = new Dictionary <string, SpriteAtlas>();
        }

        if (!loadedSpriteAtlases.ContainsKey(name))
        {
            LoadAtlasByName(name);
        }

        SpriteAtlas atlas = loadedSpriteAtlases[name];

        callback(atlas);
    }
Ejemplo n.º 19
0
    static int get_atlas(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            TextWrap    obj = (TextWrap)o;
            SpriteAtlas ret = obj.atlas;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index atlas on a nil value"));
        }
    }
Ejemplo n.º 20
0
    static int set_atlas(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            TextWrap    obj  = (TextWrap)o;
            SpriteAtlas arg0 = (SpriteAtlas)ToLua.CheckObject <SpriteAtlas>(L, 2);
            obj.atlas = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index atlas on a nil value"));
        }
    }
        private void HandlePlatformSettingUI()
        {
            int shownTextureFormatPage = EditorGUILayout.BeginPlatformGrouping(m_ValidPlatforms.ToArray(), s_Styles.defaultPlatformLabel);

            if (shownTextureFormatPage == -1)
            {
                var platformSettings = m_TempPlatformSettings[TextureImporterInspector.s_DefaultPlatformName];
                if (m_TexturePlatformSettingsController.HandleDefaultSettings(platformSettings, m_TexturePlatformSettingsView))
                {
                    for (var i = 0; i < platformSettings.Count; ++i)
                    {
                        SpriteAtlas sa = (SpriteAtlas)targets[i];
                        sa.SetPlatformSettings(platformSettings[i]);
                    }
                }
            }
            else
            {
                var buildPlatform    = m_ValidPlatforms[shownTextureFormatPage];
                var platformSettings = m_TempPlatformSettings[buildPlatform.name];


                // Predetermine format if overridden is unchecked
                for (var i = 0; i < platformSettings.Count; ++i)
                {
                    var settings = platformSettings[i];
                    if (!settings.overridden)
                    {
                        SpriteAtlas sa = (SpriteAtlas)targets[i];
                        settings.format = (TextureImporterFormat)sa.GetTextureFormat(buildPlatform.defaultTarget);
                    }
                }

                m_TexturePlatformSettingsView.buildPlatformTitle = buildPlatform.title.text;
                if (m_TexturePlatformSettingsController.HandlePlatformSettings(buildPlatform.defaultTarget, platformSettings, m_TexturePlatformSettingsView, m_TexturePlatformSettingTextureHelper))
                {
                    for (var i = 0; i < platformSettings.Count; ++i)
                    {
                        SpriteAtlas sa = (SpriteAtlas)targets[i];
                        sa.SetPlatformSettings(platformSettings[i]);
                    }
                }
            }

            EditorGUILayout.EndPlatformGrouping();
        }
Ejemplo n.º 22
0
    protected Sprite GetSpriteByName(IconBeanDictionary dicIcon, ref SpriteAtlas spriteAtlas, string atlasName, string assetBundlePath, string name, string remarkResourcesPath)
    {
        if (name == null)
        {
            return(null);
        }
        //从字典获取sprite
        if (dicIcon.TryGetValue(name, out Sprite value))
        {
            return(value);
        }
        //如果字典没有 尝试从atlas获取sprite
        if (spriteAtlas != null)
        {
            Sprite itemSprite = GetSpriteByName(name, spriteAtlas);
            if (itemSprite != null)
            {
                dicIcon.Add(name, itemSprite);
            }
            return(itemSprite);
        }
#if UNITY_EDITOR
        //编辑器模式下直接加载资源
        if (!remarkResourcesPath.IsNull())
        {
            spriteAtlas = LoadAssetUtil.LoadAssetAtPathForEditor <SpriteAtlas>(remarkResourcesPath);
        }
        else
        {
            //如果没有atlas 先加载atlas
            spriteAtlas = LoadAssetUtil.SyncLoadAsset <SpriteAtlas>(assetBundlePath, atlasName);
            //spriteAtlas = LoadResourcesUtil.SyncLoadData<SpriteAtlas>(assetBundlePath+ atlasName);
        }
#else
        //如果没有atlas 先加载atlas
        spriteAtlas = LoadAssetUtil.SyncLoadAsset <SpriteAtlas>(assetBundlePath, atlasName);
        //spriteAtlas = LoadResourcesUtil.SyncLoadData<SpriteAtlas>(assetBundlePath + atlasName);
#endif

        //加载成功后在读取一次
        if (spriteAtlas != null)
        {
            return(GetSpriteByName(dicIcon, ref spriteAtlas, atlasName, assetBundlePath, name, remarkResourcesPath));
        }
        return(null);
    }
Ejemplo n.º 23
0
        /// <summary>
        /// スプライトポップアップを描画します.
        /// </summary>
        /// <param name="atlas">アトラス.</param>
        /// <param name="spriteName">スプライト名.</param>
        /// <param name="onChange">変更された時のコールバック.</param>
        public static void DrawSpritePopup(GUIContent label, SpriteAtlas atlas, string spriteName, UnityAction <string> onChange)
        {
            int controlID = GUIUtility.GetControlID(FocusType.Passive);

            if (openSelectorWindow)
            {
                var atlasLabel = SetAtlasLabelToSprites(atlas, true);
                EditorGUIUtility.ShowObjectPicker <Sprite>(atlas.GetSprite(spriteName), false, "l:" + atlasLabel, controlID);
                openSelectorWindow = false;
            }

            // Popup-styled button to select sprite in atlas.
            using (new EditorGUI.DisabledGroupScope(!atlas))
                using (new EditorGUILayout.HorizontalScope())
                {
                    EditorGUILayout.PrefixLabel(label);
                    if (GUILayout.Button(string.IsNullOrEmpty(spriteName) ? "-" : spriteName, "minipopup") && atlas)
                    {
                        if (lastSpriteAtlas != atlas)
                        {
                            lastSpriteAtlas = atlas;
                            PackAtlas(atlas);
                        }
                        openSelectorWindow = true;
                    }
                }

            //現在のオブジェクトピッカーであれば、イベント処理.
            if (controlID == EditorGUIUtility.GetObjectPickerControlID())
            {
                string commandName = Event.current.commandName;
                //選択オブジェクト更新イベント
                if (commandName == "ObjectSelectorUpdated")
                {
                    Object picked = EditorGUIUtility.GetObjectPickerObject();
                    onChange(picked ? picked.name.Replace("(Clone)", "") : "");
                }
                //クローズイベント
                else if (commandName == "ObjectSelectorClosed")
                {
                    // On close selector window, reomove the atlas label from sprites.
                    SetAtlasLabelToSprites(atlas, false);
                }
            }
        }
Ejemplo n.º 24
0
        public static void CreateAtlasByFolders()
        {
            if (!CheckConfig())
            {
                return;
            }

            UpdateAtlasSprite();

            DirectoryInfo rootDirInfo = new DirectoryInfo(sptSrcDir);
            //add folders
            List <Object> folders = new List <Object>();

            foreach (DirectoryInfo dirInfo in rootDirInfo.GetDirectories())
            {
                if (dirInfo == null || ignoreFolders.Contains(dirInfo.Name))
                {
                    continue;
                }

                folders.Clear();
                string assetPath = dirInfo.FullName.Substring(dirInfo.FullName.IndexOf("Assets"));
                var    o         = AssetDatabase.LoadAssetAtPath <DefaultAsset>(assetPath);
                if (IsPackable(o))
                {
                    folders.Add(o);
                }

                string atlasName = dirInfo.Name + ".spriteatlas";
                if (IsAtlasExists(atlasName))
                {
                    SpriteAtlas atlas = Resources.Load <SpriteAtlas>(atlasRelativePath + dirInfo.Name);
                    RefreshAtlas(atlas);
                    AssetDatabase.Refresh();

                    continue;
                }
                CreateAtlas(atlasName);
                SpriteAtlas sptAtlas = Resources.Load <SpriteAtlas>(atlasRelativePath + dirInfo.Name);
                Debug.Log(sptAtlas.tag);
                AddPackAtlas(sptAtlas, folders.ToArray());
            }

            //add texture by your self
        }
Ejemplo n.º 25
0
    public static void LoadSpriteAtlas(string path, Action <Dictionary <string, SpriteAtlas> > onLoadFinishCallBack)
    {
        Dictionary <string, SpriteAtlas> dict = new Dictionary <string, SpriteAtlas>();

        Debug.LogError(path);
        SpriteAtlas sa = null;

#if UNITY_EDITOR
        sa = AssetDatabase.LoadAssetAtPath <SpriteAtlas>(path);
#endif
        string[] split = path.Replace('\\', '/').Split('/');
        string   name  = split[split.Length - 1].Replace(".spriteatlas", "").ToLower();
        dict.Add(name, sa);
        if (onLoadFinishCallBack != null)
        {
            onLoadFinishCallBack.Invoke(dict);
        }
    }
Ejemplo n.º 26
0
 public override void OnStart(Transform transform)
 {
     baseHelper = new SingleRectCircleHelper <SkillInfo>(transform, () => {
         return(new SkillItem());
     });
     SkillItems = Resources.Load <SpriteAtlas>("SkillIcons");
     System.Random rnd = new System.Random();
     for (int i = 1; i <= SkillItems.spriteCount; ++i)
     {
         //模拟人物数据
         SkillInfo skillInfo;
         skillInfo.SkillPath = "skill_icon (" + i + ")";
         skillInfo.SkillName = "技能" + i;
         skillInfo.SkillHurt = rnd.Next(1, 100);
         baseHelper.AddItem(skillInfo);
     }
     baseHelper.OnStart();
 }
Ejemplo n.º 27
0
 public override void Execute()
 {
     if (atlas != null)
     {
         SetPlatformSetting(atlas);
     }
     else
     {
         foreach (var assetPath in assetPaths)
         {
             SpriteAtlas sa = AssetDatabase.LoadAssetAtPath <SpriteAtlas>(assetPath);
             if (sa != null)
             {
                 SetPlatformSetting(sa);
             }
         }
     }
 }
Ejemplo n.º 28
0
        public Sprite GetSprite(string spriteName, string atlasName)
        {
            SpriteAtlas spriteAtlas = GetAtlas(atlasName);

            if (spriteAtlas == null)
            {
                return(getDefaultSprite());
            }

            Sprite sprite = spriteAtlas.GetSprite(spriteName);

            if (sprite == null)
            {
                return(getDefaultSprite());
            }

            return(sprite);
        }
Ejemplo n.º 29
0
        void RenameSecondaryPlatformSettings(string oldName, string newName)
        {
            for (var i = 0; i < targets.Length; ++i)
            {
                SpriteAtlas sa = (SpriteAtlas)targets[i];

                sa.DeleteSecondaryPlatformSettings(oldName);

                var defaultPlatformSettings = m_TempPlatformSettings[TextureImporterInspector.s_DefaultPlatformName];
                sa.SetSecondaryPlatformSettings(defaultPlatformSettings[i], newName);

                foreach (var buildPlatform in m_ValidPlatforms)
                {
                    var platformSettings = m_TempPlatformSettings[buildPlatform.name];
                    sa.SetSecondaryPlatformSettings(platformSettings[i], newName);
                }
            }
        }
Ejemplo n.º 30
0
 protected override void Awake()
 {
     base.Awake();
     signSA           = MG_UIManager.Instance.GetSpriteAtlas((int)MG_PopPanelType.SignPanel);
     sp_gold          = signSA.GetSprite("MG_Sprite_Sign_Gold");
     sp_cash          = signSA.GetSprite("MG_Sprite_Sign_Cash");
     sp_scratchTicket = signSA.GetSprite("MG_Sprite_Sign_ScratchTicket");
     sp_yestodayBg    = signSA.GetSprite("MG_Sprite_Sign_Yestoday");
     sp_todayBg       = signSA.GetSprite("MG_Sprite_Sign_Today");
     sp_tomorrowBg    = signSA.GetSprite("MG_Sprite_Sign_Tomorrow");
     sp_reawrd7       = signSA.GetSprite("MG_Sprite_Sign_DayFinalReward");
     sp_today7Bg      = signSA.GetSprite("MG_Sprite_Sign_Today7");
     sp_tomorrow7Bg   = signSA.GetSprite("MG_Sprite_Sign_Tomorrow7");
     btn_Sign.onClick.AddListener(OnSignButtonClick);
     btn_Nothanks.onClick.AddListener(OnNothanksClick);
     btn_Close.onClick.AddListener(OnCloseClick);
     img_close = btn_Close.image;
 }
Ejemplo n.º 31
0
    // awake
    void Awake()
    {
        state1Toggle = CtrlPair.GetCtrlComponent<Toggle>("State1");
        state1Toggle.onValueChanged.AddListener((isOn)=>OnState1Toggle(isOn));

        state2Toggle = CtrlPair.GetCtrlComponent<Toggle>("State2");
        state2Toggle.onValueChanged.AddListener((isOn)=>OnState2Toggle(isOn));

        state3Toggle = CtrlPair.GetCtrlComponent<Toggle>("State3");
        state3Toggle.onValueChanged.AddListener((isOn)=>OnState3Toggle(isOn));

        Button btn = CtrlPair.GetCtrlComponent<Button>("AgainBtn");
		btn.onClick.AddListener(OnStartBtn);

		buttonText = CtrlPair.GetCtrlComponent<Text>("AgainBtnText");
		tipText = CtrlPair.GetCtrlComponent<Text>("Tip");

		resultAnimator = CtrlPair.GetCtrlComponent<Animator>("Result");
		resultImg = CtrlPair.GetCtrlComponent<Image>("Result");
		spriteAtlas = GetComponent<SpriteAtlas>();

		tipText.text = "每晚睡觉前来一发。。。";
    }