Beispiel #1
0
    private void UpdateCameraInRainCutter()
    {
        if (this.m_CameraMain == null)
        {
            this.m_CameraMain = Camera.main;
        }
        Camera cameraMain = this.m_CameraMain;

        if (cameraMain == null)
        {
            this.m_Material.SetFloat(this.m_ShaderInRainCutter, 0f);
            return;
        }
        RainCutter rainCutter = null;
        float      num        = 0f;

        foreach (RainCutter rainCutter2 in RainCutter.s_AllRainCutters)
        {
            float insideValue = rainCutter2.GetInsideValue(cameraMain.transform.position);
            if (num < insideValue)
            {
                num        = insideValue;
                rainCutter = rainCutter2;
            }
        }
        if (rainCutter != null)
        {
            this.m_Material.SetMatrix(this.m_ShaderRainCutterMtx, rainCutter.transform.worldToLocalMatrix);
        }
        this.m_Material.SetFloat(this.m_ShaderInRainCutter, num);
    }
Beispiel #2
0
 public void UnregisterRainCutter(RainCutter rain_cutter)
 {
     this.m_RainCutters.Remove(rain_cutter);
 }
Beispiel #3
0
 public void RegisterRainCutter(RainCutter rain_cutter)
 {
     this.m_RainCutters.Add(rain_cutter);
 }