void Update() { NavWaypoint navWaypoint = NavWaypoint.fetch; //TODO optimize these searches if (navWaypoint.IsActive && CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.IVA) { InternalNavBall navBall = null; foreach (InternalProp prop in CameraManager.Instance.IVACameraActiveKerbal.InPart.internalModel.props) { navBall = (InternalNavBall)prop.internalModules.Find(module => module.GetType().Equals(typeof(InternalNavBall))); if (navBall != null) { break; } } if (navBall != null) { if (originalIVANavBallWaypointSize.Equals(Vector3.zero)) { originalIVANavBallWaypointSize = navBall.navWaypointVector.localScale; } navBall.navWaypointVector.localScale = GlobalVariables.Settings.hideNavBallWaypoint ? Vector3.zero : originalIVANavBallWaypointSize; } } if (originalNavBallWaypointSize.Equals(Vector3.zero)) { originalNavBallWaypointSize = navWaypoint.Visual.transform.localScale; } navWaypoint.Visual.transform.localScale = GlobalVariables.Settings.hideNavBallWaypoint ? Vector3.zero : originalNavBallWaypointSize; }
/** * Replace NavBalls' textures. */ private void updateNavball(Vessel vessel) { if (hudNavBallTexture != null) { NavBall hudNavball = UnityEngine.Object.FindObjectOfType <NavBall>(); if (hudNavball != null) { hudNavball.navBall.GetComponent <Renderer>().sharedMaterial.mainTexture = hudNavBallTexture; } } if (ivaNavBallTexture != null && InternalSpace.Instance != null) { InternalNavBall ivaNavball = InternalSpace.Instance.GetComponentInChildren <InternalNavBall>(); if (ivaNavball != null) { ivaNavball.navBall.GetComponent <Renderer>().sharedMaterial.mainTexture = ivaNavBallTexture; } } }
/// <summary> /// Replace NavBalls' textures. /// </summary> void UpdateNavBall() { if (navBallTexture != null) { NavBall hudNavBall = UnityEngine.Object.FindObjectOfType <NavBall>(); if (hudNavBall != null) { Material material = hudNavBall.navBall.GetComponent <Renderer>().sharedMaterial; material.SetTexture(Util.MainTextureProperty, navBallTexture); } InternalNavBall ivaNavBall = InternalSpace.Instance.GetComponentInChildren <InternalNavBall>(); if (ivaNavBall != null) { Material material = ivaNavBall.navBall.GetComponent <Renderer>().sharedMaterial; material.mainTexture = navBallTexture; material.SetTextureScale(Util.MainTexProperty, NavBallScale); } } }