Beispiel #1
0
    List <float> GradientFact()
    {
        List <float> rfact = new List <float>();

        if (_gradientColors.Length > 0)
        {
            for (int i = 0; i < _gradientColors.Length; i++)
            {
                OTGradientSpriteColor gc = _gradientColors[i];
                rfact.Add((float)gc.position / 100);
                if (gc.size > 0)
                {
                    int _pos = gc.position + gc.size;
                    rfact.Add((float)_pos / 100);
                }
            }
        }
        if (rfact.Count == 0)
        {
            rfact.Add(0); rfact.Add(1);
        }
        else
        if (rfact.Count == 1)
        {
            rfact.Add(1);
        }

        return(rfact);
    }
Beispiel #2
0
    protected override void HandleColors()
    {
        Color[] gColors = new Color[mesh.vertexCount];

        if (_gradientColors.Length <= 1)
        {
            for (int i = 0; i < mesh.vertexCount; i++)
            {
                gColors[i] = (_gradientColors.Length == 0)?tintColor:_gradientColors[0].color;
            }
        }
        else
        {
            float d  = (1f / divisions);
            int   di = 1;
            for (int i = 0; i < divisions; i++)
            {
                if (fillFactor < 1 && fillFactor < (i + 1) * d)
                {
                    break;
                }
                di++;
            }

            int r = 0;
            for (int gc = 0; gc < _gradientColors.Length; gc++)
            {
                OTGradientSpriteColor gCol = _gradientColors[gc];

                if (gc == 0)
                {
                    gColors[0] = gCol.color;
                }

                for (int i = 0; i < di + 1; i++)
                {
                    if (gc > 0)
                    {
                        gColors[1 + ((r - 1) * (di + 1)) + i] = gCol.color;
                    }
                    if (gCol.size > 0)
                    {
                        gColors[1 + (r * (di + 1)) + i] = gCol.color;
                    }
                }

                if (gCol.size > 0)
                {
                    r += 2;
                }
                else
                {
                    r++;
                }
            }
        }

        mesh.colors = gColors;
    }
Beispiel #3
0
 void CloneGradientColors()
 {
     _gradientColors_ = new OTGradientSpriteColor[_gradientColors.Length];
     for (int c = 0; c < _gradientColors.Length; c++)
     {
         _gradientColors_[c]          = new OTGradientSpriteColor();
         _gradientColors_[c].position = _gradientColors[c].position;
         _gradientColors_[c].size     = _gradientColors[c].size;
         _gradientColors_[c].color    = _gradientColors[c].color;
     }
 }
 void CloneGradientColors()
 {
     _gradientColors_ = new OTGradientSpriteColor[_gradientColors.Length];
     for (int c=0; c<_gradientColors.Length; c++)
     {
         _gradientColors_[c] = new OTGradientSpriteColor();
         _gradientColors_[c].position = _gradientColors[c].position;
         _gradientColors_[c].size = _gradientColors[c].size;
         _gradientColors_[c].color = _gradientColors[c].color;
     }
 }