Ejemplo n.º 1
0
 public void OnPostRender()
 {
     if (this.dicLight.Count <= 0)
     {
         return;
     }
     using (Dictionary <Light, bool> .Enumerator enumerator = this.dicLight.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             KeyValuePair <Light, bool> current = enumerator.Current;
             if (current.Value)
             {
                 LightLine.DrawLine(current.Key);
             }
         }
     }
 }
Ejemplo n.º 2
0
        private static void DrawSpotLight(
            Quaternion _rotation,
            Vector3 _position,
            float _angle,
            float _range,
            float _angleScale,
            float _rangeScale)
        {
            float   num       = _range * _rangeScale;
            float   _radius   = num * Mathf.Tan((float)(Math.PI / 180.0 * (double)_angle / 2.0)) * _angleScale;
            Vector3 _normal   = Quaternion.op_Multiply(_rotation, Vector3.get_forward());
            Vector3 vector3_1 = Quaternion.op_Multiply(_rotation, Vector3.get_up());
            Vector3 vector3_2 = Quaternion.op_Multiply(_rotation, Vector3.get_right());

            LightLine.DrawLine(_position, Vector3.op_Addition(Vector3.op_Addition(_position, Vector3.op_Multiply(_normal, num)), Vector3.op_Multiply(vector3_1, _radius)));
            LightLine.DrawLine(_position, Vector3.op_Subtraction(Vector3.op_Addition(_position, Vector3.op_Multiply(_normal, num)), Vector3.op_Multiply(vector3_1, _radius)));
            LightLine.DrawLine(_position, Vector3.op_Addition(Vector3.op_Addition(_position, Vector3.op_Multiply(_normal, num)), Vector3.op_Multiply(vector3_2, _radius)));
            LightLine.DrawLine(_position, Vector3.op_Subtraction(Vector3.op_Addition(_position, Vector3.op_Multiply(_normal, num)), Vector3.op_Multiply(vector3_2, _radius)));
            LightLine.DrawWireDisc(Vector3.op_Addition(_position, Vector3.op_Multiply(num, _normal)), _normal, _radius);
        }