public static LightStyle.Mod operator -(LightStyle.Mod a) { for (LightStyle.Mod.Element i = LightStyle.Mod.Element.Red; i < (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle); i = (LightStyle.Mod.Element)((int)i + (int)LightStyle.Mod.Element.Green)) { a.SetFaceValue(i, -a.GetFaceValue(i)); } return(a); }
public DefaultSimulation(LightStyleDefault def) : base(def) { float?nullable = 1f; for (LightStyle.Mod.Element element = LightStyle.Mod.Element.Red; element < (LightStyle.Mod.Element.SpotAngle | LightStyle.Mod.Element.Green); element += 1) { this.mod[element] = nullable; } }
public DefaultSimulation(LightStyleDefault def) : base(def) { float?nullable = new float?(1f); for (LightStyle.Mod.Element i = LightStyle.Mod.Element.Red; i < (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle); i = (LightStyle.Mod.Element)((int)i + (int)LightStyle.Mod.Element.Green)) { this.mod[i] = nullable; } }
public static LightStyle.Mod operator -(LightStyle.Mod a, float b) { for (LightStyle.Mod.Element i = LightStyle.Mod.Element.Red; i < (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle); i = (LightStyle.Mod.Element)((int)i + (int)LightStyle.Mod.Element.Green)) { if ((a.mask & LightStyle.Mod.ElementToMask(i)) == LightStyle.Mod.ElementToMask(i)) { a.SetFaceValue(i, a.GetFaceValue(i) - b); } } return(a); }
public static LightStyle.Mod operator *(LightStyle.Mod a, LightStyle.Mod b) { LightStyle.Mod.Mask mask = a.mask & b.mask; for (LightStyle.Mod.Element i = LightStyle.Mod.Element.Red; i < (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle); i = (LightStyle.Mod.Element)((int)i + (int)LightStyle.Mod.Element.Green)) { if ((mask & LightStyle.Mod.ElementToMask(i)) == LightStyle.Mod.ElementToMask(i)) { a.SetFaceValue(i, a.GetFaceValue(i) * b.GetFaceValue(i)); } } return(a); }
public void SetFaceValue(LightStyle.Mod.Element element, float value) { switch (element) { case LightStyle.Mod.Element.Red: { this.r = value; break; } case LightStyle.Mod.Element.Green: { this.g = value; break; } case LightStyle.Mod.Element.Blue: { this.b = value; break; } case LightStyle.Mod.Element.Alpha: { this.a = value; break; } case LightStyle.Mod.Element.Intensity: { this.intensity = value; break; } case LightStyle.Mod.Element.Range: { this.range = value; break; } case LightStyle.Mod.Element.SpotAngle: { this.spotAngle = value; break; } default: { throw new ArgumentOutOfRangeException("element"); } } }
protected override void Simulate(double currentTime) { float curveValue = base.creator.GetCurveValue(currentTime - base.startTime); if (!this.lastValue.HasValue || (this.lastValue.Value != curveValue)) { this.lastValue = new float?(curveValue); for (LightStyle.Mod.Element element = LightStyle.Mod.Element.Red; element < (LightStyle.Mod.Element.SpotAngle | LightStyle.Mod.Element.Green); element += 1) { this.mod[element] = this.lastValue; } } }
protected override void Simulate(double currentTime) { float curveValue = base.creator.GetCurveValue(currentTime - this.startTime); if (!this.lastValue.HasValue || this.lastValue.Value != curveValue) { this.lastValue = new float?(curveValue); for (LightStyle.Mod.Element i = LightStyle.Mod.Element.Red; i < (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle); i = (LightStyle.Mod.Element)((int)i + (int)LightStyle.Mod.Element.Green)) { this.mod[i] = this.lastValue; } } }
public float GetFaceValue(LightStyle.Mod.Element element) { switch (element) { case LightStyle.Mod.Element.Red: { return(this.r); } case LightStyle.Mod.Element.Green: { return(this.g); } case LightStyle.Mod.Element.Blue: { return(this.b); } case LightStyle.Mod.Element.Alpha: { return(this.a); } case LightStyle.Mod.Element.Intensity: { return(this.intensity); } case LightStyle.Mod.Element.Range: { return(this.range); } case LightStyle.Mod.Element.SpotAngle: { return(this.spotAngle); } } throw new ArgumentOutOfRangeException("element"); }
public float?this[LightStyle.Mod.Element element] { get { if (!this.Contains(element)) { return(null); } return(new float?(this.GetFaceValue(element))); } set { if (!value.HasValue) { this.ClearModify(element); } else { this.SetFaceValue(element, value.Value); this.SetModify(element); } } }
public static LightStyle.Mod Lerp(LightStyle.Mod a, LightStyle.Mod b, float t, LightStyle.Mod.Mask mask) { b.mask = b.mask & mask; if ((int)b.mask == 0) { return(a); } a.mask = a.mask & mask; if ((int)a.mask == 0) { return(b); } LightStyle.Mod.Mask mask1 = a.mask & b.mask; if ((int)mask1 != 0) { float single = 1f - t; if ((int)mask != 0) { for (LightStyle.Mod.Element i = LightStyle.Mod.Element.Red; i < (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle); i = (LightStyle.Mod.Element)((int)i + (int)LightStyle.Mod.Element.Green)) { if ((mask1 & LightStyle.Mod.ElementToMask(i)) == LightStyle.Mod.ElementToMask(i)) { float faceValue = a.GetFaceValue(i); float faceValue1 = b.GetFaceValue(i); float single1 = faceValue * single + faceValue1 * t; a.SetFaceValue(i, single1); } } } } if (mask1 != a.mask) { a = a | b; } return(a); }
public void ToggleModify(LightStyle.Mod.Element element) { LightStyle.Mod mask = this; mask.mask = mask.mask ^ LightStyle.Mod.ElementToMask(element); }
public void SetModify(LightStyle.Mod.Element element, float assignValue) { this.SetFaceValue(element, assignValue); LightStyle.Mod mask = this; mask.mask = mask.mask | LightStyle.Mod.ElementToMask(element); }
public void SetModify(LightStyle.Mod.Element element) { LightStyle.Mod mask = this; mask.mask = mask.mask | LightStyle.Mod.ElementToMask(element); }
public void ClearModify(LightStyle.Mod.Element element) { LightStyle.Mod maskNot = this; maskNot.mask = maskNot.mask & LightStyle.Mod.ElementToMaskNot(element); }
public static LightStyle.Mod.Mask ElementToMaskNot(LightStyle.Mod.Element element) { return((LightStyle.Mod.Mask)(~((int)LightStyle.Mod.Element.Green << (int)(element & (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle))) & (LightStyle.Mod.Element.Green | LightStyle.Mod.Element.Blue | LightStyle.Mod.Element.Alpha | LightStyle.Mod.Element.Intensity | LightStyle.Mod.Element.Range | LightStyle.Mod.Element.SpotAngle))); }
public bool Contains(LightStyle.Mod.Element element) { return(this.AllOf(LightStyle.Mod.ElementToMask(element))); }