Ejemplo n.º 1
0
    /// <summary>
    /// Loads saved groups.
    /// </summary>
    private void LoadGroups()
    {
        Directory.CreateDirectory(Application.dataPath + "/Resources/Editor/");

        string _path = Application.dataPath + "/Resources/Editor/" + EditorSceneManager.GetActiveScene().name + ".txt";

        // If the file doesn't exist, return
        if (!File.Exists(_path))
        {
            return;
        }

        string[] _groups    = File.ReadAllLines(_path).Where(s => !string.IsNullOrEmpty(s)).ToArray();
        string   _groupName = string.Empty;

        string[] _groupColor = new string[] { };

        colorGroups = new TDS_ColorGroup[_groups.Length];

        for (int _i = 0; _i < _groups.Length; _i++)
        {
            _groupName  = _groups[_i].Split('|')[0];
            _groupColor = _groups[_i].Split('|')[1].Split('#');

            colorGroups[_i] = new TDS_ColorGroup(new Color(float.Parse(_groupColor[0]), float.Parse(_groupColor[1]), float.Parse(_groupColor[2]), float.Parse(_groupColor[3])), _groupName);
        }

        LoadSprites();
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Loads a sprite renderer.
    /// </summary>
    /// <param name="_sprite">Sprite to load.</param>
    private void LoadSprite(SpriteRenderer _sprite)
    {
        TDS_ColorGroup _matching = colorGroups.Where(c => c.Color == _sprite.color).FirstOrDefault();

        if (_matching == null)
        {
            colorGroups = colorGroups.Append(new TDS_ColorGroup(_sprite.color, new SpriteRenderer[] { _sprite })).OrderBy(g => g.Name).ToArray();
        }
        else if (!_matching.Sprites.Contains(_sprite))
        {
            _matching.Sprites.Add(_sprite);
        }
    }