/// <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(); }
/// <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); } }