UIKeys.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.SceneManagement;
  4. public class UIKeys : MonoBehaviour {
  5. public ReflectionProbe[] probes;
  6. private ThemeManager ScifiThemeManager;
  7. public GameObject CameraPositions;
  8. public Light sunLight;
  9. private Transform [] tPorts;
  10. private int portCount = 1;
  11. private GameObject [] emissionGOs;
  12. private GameObject [] nightLights;
  13. private string defaultFogColor = "A2C8D1";
  14. private bool lastLightsOn = true;
  15. // Use this for initialization
  16. void Start () {
  17. tPorts = CameraPositions.GetComponentsInChildren<Transform> ();
  18. ScifiThemeManager = GetComponentInChildren<ThemeManager>();
  19. emissionGOs = GameObject.FindGameObjectsWithTag ("Emission");
  20. nightLights = GameObject.FindGameObjectsWithTag ("NightLights");
  21. ScifiThemeManager.setTheme(0);
  22. ScifiThemeManager.setPostProcessingProfile(0);
  23. RenderSettings.fog = true;
  24. RenderSettings.fogDensity = 0.005f;
  25. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  26. RenderSettings.ambientIntensity = 1f;
  27. RenderSettings.reflectionIntensity = 1f;
  28. NightLightsOn (false);
  29. }
  30. private void Teleport(int tPortIndex) {
  31. Transform destination = tPorts [tPortIndex];
  32. Camera.main.transform.position = destination.position;
  33. Camera.main.transform.rotation = destination.rotation;
  34. }
  35. private void NightLightsOn(bool lightsOn) {
  36. if (lightsOn == lastLightsOn)
  37. return;
  38. for (int i = 0; i < emissionGOs.Length; i++) {
  39. emissionGOs [i].SetActive (lightsOn);
  40. }
  41. for (int i = 0; i < nightLights.Length; i++) {
  42. nightLights [i].GetComponent<Light>().enabled = lightsOn;
  43. }
  44. sunLight.enabled = lightsOn?false:true;
  45. lastLightsOn = lightsOn;
  46. }
  47. // Update is called once per frame
  48. void Update () {
  49. if (Input.GetKeyDown(KeyCode.Alpha1)) {
  50. ScifiThemeManager.setTheme(0);
  51. ScifiThemeManager.setPostProcessingProfile(0);
  52. RenderSettings.fogDensity = 0.005f;
  53. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  54. RenderSettings.ambientIntensity = 1f;
  55. RenderSettings.reflectionIntensity = 1f;
  56. NightLightsOn (false);
  57. }
  58. if (Input.GetKeyDown(KeyCode.Alpha2)) {
  59. ScifiThemeManager.setTheme(1);
  60. ScifiThemeManager.setPostProcessingProfile(1);
  61. RenderSettings.fogDensity = 0.005f;
  62. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  63. RenderSettings.ambientIntensity = 1f;
  64. RenderSettings.reflectionIntensity = 1f;
  65. NightLightsOn (false);
  66. }
  67. if (Input.GetKeyDown(KeyCode.Alpha3)) {
  68. ScifiThemeManager.setTheme(0);
  69. ScifiThemeManager.setPostProcessingProfile(1);
  70. RenderSettings.fogDensity = 0.02f;
  71. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  72. RenderSettings.ambientIntensity = 1f;
  73. RenderSettings.reflectionIntensity = 1f;
  74. NightLightsOn (false);
  75. }
  76. if (Input.GetKeyDown(KeyCode.Alpha4)) {
  77. ScifiThemeManager.setTheme(1);
  78. ScifiThemeManager.setPostProcessingProfile(2);
  79. RenderSettings.fogDensity = 0.005f;
  80. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  81. RenderSettings.ambientIntensity = 1f;
  82. RenderSettings.reflectionIntensity = 1f;
  83. NightLightsOn (false);
  84. }
  85. if (Input.GetKeyDown(KeyCode.Alpha5)) {
  86. ScifiThemeManager.setTheme(1);
  87. ScifiThemeManager.setPostProcessingProfile(0);
  88. RenderSettings.fogDensity = 0.0075f;
  89. RenderSettings.fogColor = ColorConverter.HexToColor ("556A6F");
  90. RenderSettings.ambientIntensity = 1f;
  91. RenderSettings.reflectionIntensity = 0.6f;
  92. NightLightsOn (true);
  93. }
  94. if (Input.GetKeyDown(KeyCode.Alpha6) ) {
  95. ScifiThemeManager.setTheme(2);
  96. ScifiThemeManager.setPostProcessingProfile(0);
  97. RenderSettings.fogDensity = 0.005f;
  98. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  99. RenderSettings.ambientIntensity = 1f;
  100. RenderSettings.reflectionIntensity = 1f;
  101. NightLightsOn (false);
  102. }
  103. if (Input.GetKeyDown(KeyCode.Alpha7)) {
  104. ScifiThemeManager.setTheme(3);
  105. ScifiThemeManager.setPostProcessingProfile(0);
  106. RenderSettings.fogDensity = 0.005f;
  107. RenderSettings.fogColor = ColorConverter.HexToColor (defaultFogColor);
  108. RenderSettings.ambientIntensity = 1f;
  109. RenderSettings.reflectionIntensity = 1f;
  110. NightLightsOn (false);
  111. }
  112. if (Input.GetKeyDown (KeyCode.LeftArrow)) {
  113. portCount--;
  114. if (portCount == 0)
  115. portCount = tPorts.Length - 1;
  116. Teleport (portCount);
  117. }
  118. if (Input.GetKeyDown (KeyCode.RightArrow)) {
  119. portCount++;
  120. if (portCount == tPorts.Length)
  121. portCount = 1;
  122. Teleport (portCount);
  123. }
  124. if (Input.GetKeyDown(KeyCode.Escape)) {
  125. Screen.fullScreen = false;
  126. Cursor.visible = true;
  127. }
  128. }
  129. }