示例#1
0
    /// <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);
    }
示例#2
0
    /// <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);
    }
示例#3
0
    /// <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);
    }