// Token: 0x06003B04 RID: 15108 RVA: 0x000D0B48 File Offset: 0x000CED48
        public float GetFaceValue(global::LightStyle.Mod.Element element)
        {
            switch (element)
            {
            case global::LightStyle.Mod.Element.Red:
                return(this.r);

            case global::LightStyle.Mod.Element.Green:
                return(this.g);

            case global::LightStyle.Mod.Element.Blue:
                return(this.b);

            case global::LightStyle.Mod.Element.Alpha:
                return(this.a);

            case global::LightStyle.Mod.Element.Intensity:
                return(this.intensity);

            case global::LightStyle.Mod.Element.Range:
                return(this.range);

            case global::LightStyle.Mod.Element.SpotAngle:
                return(this.spotAngle);

            default:
                throw new ArgumentOutOfRangeException("element");
            }
        }
예제 #2
0
        // Token: 0x06003B49 RID: 15177 RVA: 0x000D1B14 File Offset: 0x000CFD14
        public DefaultSimulation(global::LightStyleDefault def) : base(def)
        {
            float?value = new float?(1f);

            for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
            {
                this.mod[element] = value;
            }
        }
 // Token: 0x06003B1F RID: 15135 RVA: 0x000D1338 File Offset: 0x000CF538
 public static global::LightStyle.Mod operator /(global::LightStyle.Mod a, float b)
 {
     for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
     {
         if ((a.mask & global::LightStyle.Mod.ElementToMask(element)) == global::LightStyle.Mod.ElementToMask(element))
         {
             a.SetFaceValue(element, a.GetFaceValue(element) / b);
         }
     }
     return(a);
 }
 // Token: 0x06003B11 RID: 15121 RVA: 0x000D105C File Offset: 0x000CF25C
 public static global::LightStyle.Mod operator |(global::LightStyle.Mod a, global::LightStyle.Mod b)
 {
     for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
     {
         if ((a.mask & global::LightStyle.Mod.ElementToMask(element)) != global::LightStyle.Mod.ElementToMask(element) && (b.mask & global::LightStyle.Mod.ElementToMask(element)) == global::LightStyle.Mod.ElementToMask(element))
         {
             a.SetModify(element, b.GetFaceValue(element));
         }
     }
     return(a);
 }
 // Token: 0x06003B1E RID: 15134 RVA: 0x000D12E8 File Offset: 0x000CF4E8
 public static global::LightStyle.Mod operator *(global::LightStyle.Mod a, float b)
 {
     global::LightStyle.Mod result = a;
     for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
     {
         if ((a.mask & global::LightStyle.Mod.ElementToMask(element)) == global::LightStyle.Mod.ElementToMask(element))
         {
             result.SetFaceValue(element, a.GetFaceValue(element) * b);
         }
     }
     return(result);
 }
 // Token: 0x06003B10 RID: 15120 RVA: 0x000D1000 File Offset: 0x000CF200
 public static global::LightStyle.Mod operator /(global::LightStyle.Mod a, global::LightStyle.Mod b)
 {
     global::LightStyle.Mod.Mask mask = a.mask & b.mask;
     for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
     {
         if ((mask & global::LightStyle.Mod.ElementToMask(element)) == global::LightStyle.Mod.ElementToMask(element))
         {
             a.SetFaceValue(element, a.GetFaceValue(element) / b.GetFaceValue(element));
         }
     }
     return(a);
 }
        // Token: 0x06003B42 RID: 15170 RVA: 0x000D1A2C File Offset: 0x000CFC2C
        protected override void Simulate(double currentTime)
        {
            float curveValue = base.creator.GetCurveValue(currentTime - this.startTime);

            if (this.lastValue == null || this.lastValue.Value != curveValue)
            {
                this.lastValue = new float?(curveValue);
                for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
                {
                    this.mod[element] = this.lastValue;
                }
            }
        }
 // Token: 0x17000B70 RID: 2928
 public float?this[global::LightStyle.Mod.Element element]
 {
     get
     {
         if (this.Contains(element))
         {
             return(new float?(this.GetFaceValue(element)));
         }
         return(null);
     }
     set
     {
         if (value != null)
         {
             this.SetFaceValue(element, value.Value);
             this.SetModify(element);
         }
         else
         {
             this.ClearModify(element);
         }
     }
 }
 // Token: 0x06003B0C RID: 15116 RVA: 0x000D0E18 File Offset: 0x000CF018
 public static global::LightStyle.Mod Lerp(global::LightStyle.Mod a, global::LightStyle.Mod b, float t, global::LightStyle.Mod.Mask mask)
 {
     b.mask &= mask;
     if (b.mask == (global::LightStyle.Mod.Mask) 0)
     {
         return(a);
     }
     a.mask &= mask;
     if (a.mask == (global::LightStyle.Mod.Mask) 0)
     {
         return(b);
     }
     global::LightStyle.Mod.Mask mask2 = a.mask & b.mask;
     if (mask2 != (global::LightStyle.Mod.Mask) 0)
     {
         float num = 1f - t;
         if (mask != (global::LightStyle.Mod.Mask) 0)
         {
             for (global::LightStyle.Mod.Element element = global::LightStyle.Mod.Element.Red; element < (global::LightStyle.Mod.Element) 7; element++)
             {
                 if ((mask2 & global::LightStyle.Mod.ElementToMask(element)) == global::LightStyle.Mod.ElementToMask(element))
                 {
                     float faceValue  = a.GetFaceValue(element);
                     float faceValue2 = b.GetFaceValue(element);
                     float value      = faceValue * num + faceValue2 * t;
                     a.SetFaceValue(element, value);
                 }
             }
         }
     }
     if (mask2 != a.mask)
     {
         a |= b;
     }
     return(a);
 }
        // Token: 0x06003B05 RID: 15109 RVA: 0x000D0BBC File Offset: 0x000CEDBC
        public void SetFaceValue(global::LightStyle.Mod.Element element, float value)
        {
            switch (element)
            {
            case global::LightStyle.Mod.Element.Red:
                this.r = value;
                break;

            case global::LightStyle.Mod.Element.Green:
                this.g = value;
                break;

            case global::LightStyle.Mod.Element.Blue:
                this.b = value;
                break;

            case global::LightStyle.Mod.Element.Alpha:
                this.a = value;
                break;

            case global::LightStyle.Mod.Element.Intensity:
                this.intensity = value;
                break;

            case global::LightStyle.Mod.Element.Range:
                this.range = value;
                break;

            case global::LightStyle.Mod.Element.SpotAngle:
                this.spotAngle = value;
                break;

            default:
                throw new ArgumentOutOfRangeException("element");
            }
        }
 // Token: 0x06003B09 RID: 15113 RVA: 0x000D0CCC File Offset: 0x000CEECC
 public static global::LightStyle.Mod.Mask ElementToMaskNot(global::LightStyle.Mod.Element element)
 {
     return((global::LightStyle.Mod.Mask)(~(1 << (int)element) & 127));
 }
 // Token: 0x06003B03 RID: 15107 RVA: 0x000D0B30 File Offset: 0x000CED30
 public void ToggleModify(global::LightStyle.Mod.Element element)
 {
     this.mask ^= global::LightStyle.Mod.ElementToMask(element);
 }
 // Token: 0x06003B02 RID: 15106 RVA: 0x000D0B18 File Offset: 0x000CED18
 public void ClearModify(global::LightStyle.Mod.Element element)
 {
     this.mask &= global::LightStyle.Mod.ElementToMaskNot(element);
 }
 // Token: 0x06003B01 RID: 15105 RVA: 0x000D0AF8 File Offset: 0x000CECF8
 public void SetModify(global::LightStyle.Mod.Element element, float assignValue)
 {
     this.SetFaceValue(element, assignValue);
     this.mask |= global::LightStyle.Mod.ElementToMask(element);
 }
 // Token: 0x06003B00 RID: 15104 RVA: 0x000D0AE0 File Offset: 0x000CECE0
 public void SetModify(global::LightStyle.Mod.Element element)
 {
     this.mask |= global::LightStyle.Mod.ElementToMask(element);
 }
 // Token: 0x06003AFF RID: 15103 RVA: 0x000D0AD0 File Offset: 0x000CECD0
 public bool Contains(global::LightStyle.Mod.Element element)
 {
     return(this.AllOf(global::LightStyle.Mod.ElementToMask(element)));
 }