void Awake() { dynamicAdminTypes = new List<System.Type>() { typeof(CarHeadlights) }; if(driverCam == null) driverCam = TrackController.Instance.driverCam; if(AppController.Instance.appSettings.projectorBlend) { AdminSettings.Instance.displayType = DisplayType.PARABOLIC; } //SetDisplay(); SetFarClip(AdminSettings.Instance.camFarClip); StartCoroutine(LoadDynamicTypes()); }
void LoadMisc() { var settings = GetComponent <DriveAdminUISettings>(); var driverCam = settings.driverCam; var serializer = new XmlSerializer(typeof(MiscSettings)); using (var filestream = new FileStream(Application.streamingAssetsPath + "/SavedPresets/MiscSettings.xml", FileMode.Open)) { var reader = new System.Xml.XmlTextReader(filestream); var savedSettings = serializer.Deserialize(reader) as MiscSettings; // timeOfDay.Components.Time.enabled = savedSettings.progressTime; AdminSettings.Instance.sunshafts = savedSettings.sunShafts; AdminSettings.Instance.fog = savedSettings.fog; AdminSettings.Instance.fov = DriverCamera.ScaleFov(savedSettings.fov); driverCam.SetFoV(DriverCamera.ScaleFov(savedSettings.fov)); AdminSettings.Instance.camFarClip = savedSettings.cameraClip; settings.SetFarClip(savedSettings.cameraClip); AudioController.Instance.MusicVolume = savedSettings.musicVol; AudioController.Instance.FoleyVolume = savedSettings.foleyVol; AudioController.Instance.VehicleVolume = savedSettings.foleyVol; } //refresh all misc + audio panel info adminCategories[1].UpdateValues(); adminCategories[3].UpdateValues(); }
void LoadMisc() { var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MiscSettings)); using (var filestream = new FileStream(Application.streamingAssetsPath + "/SavedPresets/MiscSettings.xml", FileMode.Open)) { var reader = new System.Xml.XmlTextReader(filestream); var savedSettings = serializer.Deserialize(reader) as MiscSettings; AdminSettings.Instance.fov = DriverCamera.ScaleFov(savedSettings.fov); } }
public RiskAssessment(Vector3 infoTagStartScale, DriverCamera driverCam, AnimationCurve infoTagResize, Transform rayCastPos, GameObject gameObject, LayerMask mask, LinesUtils linesUtils) { this.infoTagStartScale = infoTagStartScale; this.driverCam = driverCam; this.infoTagResize = infoTagResize; this.rayCastPos = rayCastPos; this.gameObject = gameObject; this.mask = mask; this.linesUtils = linesUtils; this.rigidbody = gameObject.transform.parent.GetComponent <Rigidbody>(); this.vehicleController = gameObject.transform.parent.GetComponent <VehicleController>(); }
void RecalculateCam(DriverCamera cam) { var lCam = cam.left.GetComponent <Camera>(); var cCam = cam.center.GetComponent <Camera>(); var rCam = cam.right.GetComponent <Camera>(); if (cam.cameraSetup == AdminScreen.DisplayType.PARABOLIC) { lCam.enabled = false; rCam.enabled = false; cCam.aspect = 4992f / 1080f; cCam.rect = new Rect(0f, 0f, 1f, 1f); cCam.fieldOfView = Mathf.Rad2Deg * 2 * Mathf.Atan(Mathf.Tan(angle * Mathf.Deg2Rad / 2) / cCam.aspect); } else if (cam.cameraSetup == AdminScreen.DisplayType.FLAT) { lCam.enabled = false; rCam.enabled = false; cCam.aspect = 5760f / 1080f; cCam.rect = new Rect(0f, 0f, 1f, 1f); cCam.fieldOfView = Mathf.Rad2Deg * 2 * Mathf.Atan(Mathf.Tan(angle * Mathf.Deg2Rad / 2) / cCam.aspect); } else { lCam.enabled = true; cCam.enabled = true; rCam.enabled = true; lCam.aspect = 16f / 9f; cCam.aspect = 16f / 9f; rCam.aspect = 16f / 9f; lCam.rect = new Rect(0f, 0f, 0.25f, 1f); cCam.rect = new Rect(0.25f, 0f, 0.25f, 1f); rCam.rect = new Rect(0.5f, 0f, 0.25f, 1f); var mult = Mathf.Atan(Mathf.Tan(angle * Mathf.Deg2Rad / 2) / 3f) * 2; var vFov = Mathf.Rad2Deg * 2 * Mathf.Atan(Mathf.Tan(mult / 2) / cCam.aspect); lCam.fieldOfView = vFov; cCam.fieldOfView = vFov; rCam.fieldOfView = vFov; cCam.transform.localRotation = Quaternion.identity; lCam.transform.localRotation = Quaternion.Euler(0, -(mult * Mathf.Rad2Deg), 0); rCam.transform.localRotation = Quaternion.Euler(0, mult * Mathf.Rad2Deg, 0); } }
IEnumerator LoadDynamicTypes() { cachedDynamicObjects = new List <GetterSetter>(); yield return(null); yield return(new WaitForSeconds(4f)); yield return(null); if (driverCam == null) { driverCam = TrackController.Instance.driverCam; } foreach (var o in dynamicAdminTypes) { var sceneObjs = FindObjectsOfType(o); foreach (var sceneObj in sceneObjs) { foreach (var f in o.GetFields(BindingFlags.Public | BindingFlags.Instance)) { foreach (var a in f.GetCustomAttributes(typeof(AdminRangeAttribute), false)) { var rangeAttr = (AdminRangeAttribute)a; var so = sceneObj; var finfo = f; cachedDynamicObjects.Add(new GetterSetter { label = rangeAttr.label, min = rangeAttr.min, max = rangeAttr.max, setter = (newVal) => finfo.SetValue(so, newVal), getter = () => { return((float)finfo.GetValue(so)); } }); } } } } }
// Use this for initialization void Start() { instance = this; mCam = Camera.main; }