/// <summary> /// Removes the colors from array. /// </summary> /// <param name="colorCount">Color count.</param> /// <param name="colorData">Color data.</param> public void removeColors(int colorCount, ref ColorPanelData colorData) { Color[] storedColor = colorData.colors; colorData.colors = new Color[colorCount]; for (int i = 0; i < colorCount; ++i) { colorData.colors[i].r = storedColor[i].r; colorData.colors[i].g = storedColor[i].g; colorData.colors[i].b = storedColor[i].b; colorData.colors[i].a = storedColor[i].a; } colorData.setTotColors(colorCount); }
/// <summary> /// Load the color data from storage file. /// </summary> public ColorPanelData Load() { InitializeStorageFile(); string data = File.ReadAllText(kStorageFile); // returns something empty if (data == null || data == "") { return(new ColorPanelData()); } /* * FILE FORMAT: * * n * R:G:B:A * R:G:B:A * [...] * R:G:B:A * */ ColorPanelData colorData = new ColorPanelData(); string[] cks = data.Split('\n'); colorData.setTotColors(int.Parse(cks[0])); colorData.colors = new Color[colorData.getTotColors()]; for (int i = 0; i < colorData.getTotColors(); ++i) { string[] colors = cks[i + 1].Split(':'); colorData.colors[i].r = float.Parse(colors[0]); colorData.colors[i].g = float.Parse(colors[1]); colorData.colors[i].b = float.Parse(colors[2]); colorData.colors[i].a = float.Parse(colors[3]); } return(colorData); }
/// <summary> /// Adds the colors to array. /// </summary> /// <param name="colorCount">Color count.</param> /// <param name="colorData">Color data.</param> public void addColors(int colorCount, ref ColorPanelData colorData) { Color[] storedColor = colorData.colors; // init an empty array if (storedColor == null) { colorData.colors = new Color[colorCount]; } // fill array with stored data else { colorData.colors = new Color[colorCount]; for (int i = 0; i < colorData.getTotColors(); ++i) { colorData.colors[i].r = storedColor[i].r; colorData.colors[i].g = storedColor[i].g; colorData.colors[i].b = storedColor[i].b; colorData.colors[i].a = storedColor[i].a; } } colorData.setTotColors(colorCount); }