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