예제 #1
0
    public SpritePack GetSpritePack(string name)
    {
        SpritePack spritePack = null;

        _spritePacks.TryGetValue(name, out spritePack);
        return(spritePack);
    }
예제 #2
0
    public void Open(Color color)
    {
        _spritePack = _spriteManager.CurrentPack;

        _knight.sprite = _spritePack.GetPiece(color, typeof(Knight));
        _bishop.sprite = _spritePack.GetPiece(color, typeof(Bishop));
        _rook.sprite   = _spritePack.GetPiece(color, typeof(Rook));
        _queen.sprite  = _spritePack.GetPiece(color, typeof(Queen));

        gameObject.SetActive(true);

        _animation.Play();
    }
예제 #3
0
    public void OnEnable()
    {
        string name = Prefs.SpritePack;

        for (int i = 0; i < _spritePacks.Count; i++)
        {
            if (_spritePacks[i].Name == name)
            {
                _currentIndex = i;
            }
        }
        CurrentPack = _spritePacks[_currentIndex];
    }
예제 #4
0
 public void Add(SpritePack spritePack)
 {
     _spritePacks.Add(spritePack.name, spritePack);
     if (spritePack.packable != null)
     {
         foreach (var pa in spritePack.packable)
         {
             if (!_spritepackRelation.ContainsKey(pa))
             {
                 _spritepackRelation.Add(pa, spritePack);
             }
             else
             {
                 Debug.LogError(string.Format("{0} packed in muti file:{1} and {2}", pa, _spritepackRelation[pa].name, spritePack.name));
             }
         }
     }
 }
예제 #5
0
    public Queue <EntryDiff> GenerateManifestDiff(XManifestInfo newManifest)
    {
        Queue <EntryDiff> diffManifest = new Queue <EntryDiff>();

        // pack diff
        for (int i = 0; i < newManifest.packs.Count; i++)
        {
            bool diff = true;
            Pack pack = newManifest.packs[i];
            Pack localPack;
            if (_packs.TryGetValue(pack.name, out localPack))
            {
                if (localPack.checksum == pack.checksum)
                {
                    diff = false;
                }
            }

            if (diff)
            {
                diffManifest.Enqueue(new EntryDiff()
                {
                    type = EntryType.Pack, local = localPack, remote = pack
                });
            }
        }

        // file diff
        for (int i = 0; i < newManifest.files.Count; i++)
        {
            bool diff = true;
            File file = newManifest.files[i];
            File localFile;
            if (_files.TryGetValue(file.name, out localFile))
            {
                if (localFile.checksum == file.checksum)
                {
                    diff = false;
                }
            }

            if (diff)
            {
                diffManifest.Enqueue(new EntryDiff()
                {
                    type = EntryType.File, local = localFile, remote = file
                });
            }
        }

        // scene diff
        for (int i = 0; i < newManifest.scenes.Count; i++)
        {
            bool  diff  = true;
            Scene scene = newManifest.scenes[i];
            Scene localScene;
            if (_scenes.TryGetValue(scene.name, out localScene))
            {
                if (localScene.bundle == scene.bundle)
                {
                    diff = false;
                }
            }

            if (diff)
            {
                diffManifest.Enqueue(new EntryDiff()
                {
                    type = EntryType.Scene, local = localScene, remote = scene
                });
            }
        }

        // spritepack diff
        for (int i = 0; i < newManifest.spritePacks.Count; i++)
        {
            bool       diff       = true;
            SpritePack spritePack = newManifest.spritePacks[i];
            SpritePack localSpritePack;
            if (_spritePacks.TryGetValue(spritePack.name, out localSpritePack))
            {
                if (localSpritePack.realName == spritePack.realName)
                {
                    diff = false;
                }
            }

            if (diff)
            {
                diffManifest.Enqueue(new EntryDiff()
                {
                    type = EntryType.SpritePack, local = localSpritePack, remote = spritePack
                });
            }
        }

        return(diffManifest);
    }
예제 #6
0
 public void Next()
 {
     _currentIndex    = (_currentIndex + 1) % _spritePacks.Count;
     CurrentPack      = _spritePacks[_currentIndex];
     Prefs.SpritePack = CurrentPack.Name;
 }
예제 #7
0
 public void Prev()
 {
     _currentIndex    = (_currentIndex - 1 + _spritePacks.Count) % _spritePacks.Count;
     CurrentPack      = _spritePacks[_currentIndex];
     Prefs.SpritePack = CurrentPack.Name;
 }