private void LateUpdate() { AmbientLightSettings volume = AmbientLightSettings.FindVolume(((Component)this).get_transform().get_position()); if (Object.op_Inequality((Object)volume, (Object)this.mNextAmbientVolume) && Object.op_Inequality((Object)volume, (Object)this.mCurrentAmbientVolume)) { this.mNextAmbientVolume = volume; this.mAmbientStateStart = this.mCurrentAmbientState; this.mAmbientStateEnd = (AmbientLightSettings.State) this.mNextAmbientVolume; this.mAmbientStateTransition = 0.0f; } if (!Object.op_Inequality((Object)this.mCurrentAmbientVolume, (Object)this.mNextAmbientVolume)) { return; } this.mAmbientStateTransition = Mathf.Clamp01(this.mAmbientStateTransition + Time.get_deltaTime()); this.mCurrentAmbientState = AmbientLightSettings.State.Lerp(this.mAmbientStateStart, this.mAmbientStateEnd, this.mAmbientStateTransition); if ((double)this.mAmbientStateTransition < 1.0) { return; } this.mCurrentAmbientVolume = this.mNextAmbientVolume; this.mNextAmbientVolume = (AmbientLightSettings)null; }
public void Bake() { Light[] objectsOfType = (Light[])Object.FindObjectsOfType <Light>(); Light[] all1 = Array.FindAll <Light>(objectsOfType, (Predicate <Light>)(lit => lit.get_type() == 1)); Light[] all2 = Array.FindAll <Light>(objectsOfType, (Predicate <Light>)(lit => lit.get_type() == 2)); Color color1 = Color.get_black(); foreach (Light light in all1) { color1 = Color.op_Addition(color1, Color.op_Multiply(light.get_color(), light.get_intensity())); } Color color2 = Color.op_Multiply(color1, this.DirectLightingScale); color2.a = (__Null)1.0; using (List <ColorBlendVolume> .Enumerator enumerator = ColorBlendVolume.Volumes.GetEnumerator()) { while (enumerator.MoveNext()) { enumerator.Current.UpdateBounds(); } } for (int x = 0; x < this.XSize; ++x) { for (int y = 0; y < this.YSize; ++y) { for (int z = 0; z < this.ZSize; ++z) { Vector3 vector3_1 = this.CalcCenter(x, y, z); Color color3; // ISSUE: explicit reference operation ((Color)@color3).\u002Ector(0.0f, 0.0f, 0.0f); Color color4; // ISSUE: explicit reference operation ((Color)@color4).\u002Ector(0.0f, 0.0f, 0.0f); int index1 = x + y * this.XSize + z * this.XSize * this.YSize; AmbientLightSettings volume1 = AmbientLightSettings.FindVolume(vector3_1); color3 = Color.op_Addition(color2, Color.op_Multiply(volume1.AmbientLightColor, this.AmbientLitToDirectLit)); for (int index2 = 0; index2 < all2.Length; ++index2) { Vector3 vector3_2 = Vector3.op_Subtraction(vector3_1, ((Component)all2[index2]).get_transform().get_position()); // ISSUE: explicit reference operation float num = Mathf.Clamp01((float)(1.0 - (double)((Vector3)@vector3_2).get_magnitude() / (double)all2[index2].get_range())) * all2[index2].get_intensity(); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Color& local1 = @color3; // ISSUE: explicit reference operation // ISSUE: explicit reference operation (^ local1).r = (__Null)((^ local1).r + all2[index2].get_color().r *(double)num * (double)this.PointLitToDirectLit); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Color& local2 = @color3; // ISSUE: explicit reference operation // ISSUE: explicit reference operation (^ local2).g = (__Null)((^ local2).g + all2[index2].get_color().g *(double)num * (double)this.PointLitToDirectLit); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Color& local3 = @color3; // ISSUE: explicit reference operation // ISSUE: explicit reference operation (^ local3).b = (__Null)((^ local3).b + all2[index2].get_color().b *(double)num * (double)this.PointLitToDirectLit); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Color& local4 = @color4; // ISSUE: explicit reference operation // ISSUE: explicit reference operation (^ local4).r = (__Null)((^ local4).r + all2[index2].get_color().r *(double)num * (double)this.PointLitToIndirectLit); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Color& local5 = @color4; // ISSUE: explicit reference operation // ISSUE: explicit reference operation (^ local5).g = (__Null)((^ local5).g + all2[index2].get_color().g *(double)num * (double)this.PointLitToIndirectLit); // ISSUE: explicit reference operation // ISSUE: variable of a reference type Color& local6 = @color4; // ISSUE: explicit reference operation // ISSUE: explicit reference operation (^ local6).b = (__Null)((^ local6).b + all2[index2].get_color().b *(double)num * (double)this.PointLitToIndirectLit); } color4 = Color.op_Multiply(color4, this.IndirectLightingScale); color4 = Color.op_Addition(color4, Color.op_Multiply(volume1.AmbientLightColor, this.AmbientLitToIndirectLit)); ColorBlendVolume volume2 = ColorBlendVolume.FindVolume(vector3_1); if (Object.op_Inequality((Object)volume2, (Object)null)) { color3 = Color.op_Multiply(color3, Color32.op_Implicit(volume2.Color)); color4 = Color.op_Multiply(color4, Color32.op_Implicit(volume2.Color)); } color3.a = (__Null)1.0; color4.a = (__Null)1.0; this.mVoxel[index1].DirectLightColor = Color32.op_Implicit(color3); this.mVoxel[index1].IndirectLightColor = Color32.op_Implicit(color4); } } } }