Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

77 Zeilen
1.9 KiB

  1. using System;
  2. using UnityEngine;
  3. public class WeatherOverlay : MonoBehaviour
  4. {
  5. protected virtual void Awake()
  6. {
  7. if (this.parentCamera == null)
  8. {
  9. if (base.transform.parent != null)
  10. {
  11. this.parentCamera = base.transform.parent.GetComponent<Camera>();
  12. }
  13. if (this.parentCamera == null)
  14. {
  15. UnityEngine.Debug.LogError("WeatherOverlay: Failed to find parentCamera, please assign it manually");
  16. }
  17. }
  18. this._cachedRenderer = base.GetComponent<Renderer>();
  19. this._cachedRenderer.sortingOrder = this.sortingOrder;
  20. this._cachedRenderer.enabled = false;
  21. base.transform.localPosition = new Vector3(0f, 0f, base.transform.localPosition.z);
  22. }
  23. protected virtual void Update()
  24. {
  25. float num = this.parentCamera.orthographicSize * 2f;
  26. base.transform.localScale = new Vector3(num * this.parentCamera.aspect, num, 1f);
  27. }
  28. public virtual float Brightness
  29. {
  30. get
  31. {
  32. return this._brightness;
  33. }
  34. set
  35. {
  36. float num = Mathf.Clamp(value, -1f, 1f);
  37. if (this._brightness != num)
  38. {
  39. this._brightness = num;
  40. if (this._brightness > 0f)
  41. {
  42. this._cachedRenderer.material = this.lightningMaterial;
  43. this._cachedRenderer.enabled = true;
  44. this.lightningMaterial.color = new Color(1f, 1f, 1f, this._brightness * this.brightnessMult);
  45. }
  46. else if (this._brightness < 0f)
  47. {
  48. this._cachedRenderer.material = this.darkMaterial;
  49. this._cachedRenderer.enabled = true;
  50. this.darkMaterial.color = new Color(0f, 0f, 0f, -this._brightness * this.brightnessMult);
  51. }
  52. else
  53. {
  54. this._cachedRenderer.enabled = false;
  55. }
  56. }
  57. }
  58. }
  59. public Camera parentCamera;
  60. public int sortingOrder = 200;
  61. public float brightnessMult = 0.2f;
  62. public Material darkMaterial;
  63. public Material lightningMaterial;
  64. private float _brightness;
  65. private Renderer _cachedRenderer;
  66. }