Пример #1
0
 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);
 }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
 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);
 }
Пример #5
0
 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);
 }
Пример #6
0
        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");
            }
            }
        }
Пример #7
0
        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;
                }
            }
        }
Пример #8
0
        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;
                }
            }
        }
Пример #9
0
        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");
        }
Пример #10
0
 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);
         }
     }
 }
Пример #11
0
 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);
 }
Пример #12
0
 public void ToggleModify(LightStyle.Mod.Element element)
 {
     LightStyle.Mod mask = this;
     mask.mask = mask.mask ^ LightStyle.Mod.ElementToMask(element);
 }
Пример #13
0
 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);
 }
Пример #14
0
 public void SetModify(LightStyle.Mod.Element element)
 {
     LightStyle.Mod mask = this;
     mask.mask = mask.mask | LightStyle.Mod.ElementToMask(element);
 }
Пример #15
0
 public void ClearModify(LightStyle.Mod.Element element)
 {
     LightStyle.Mod maskNot = this;
     maskNot.mask = maskNot.mask & LightStyle.Mod.ElementToMaskNot(element);
 }
Пример #16
0
 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)));
 }
Пример #17
0
 public bool Contains(LightStyle.Mod.Element element)
 {
     return(this.AllOf(LightStyle.Mod.ElementToMask(element)));
 }