private float windowActual; //valore dell'aspect ratio corrente /* * Metodo Start * */ private void Awake() { aspectRatioNative = nativeAspect.x / nativeAspect.y; windowAspect = (float)Screen.width / (float)Screen.height; if (!OtherMath.Similar(aspectRatioNative, windowAspect)) { ScaleCamera(); //scalo la camera in base all'aspect ratio corrente } }
/* * Controllo periodicamente se l'aspect ratio attuale è diverso da quello che ho registrato, se si, scalo la camera * */ void ControlScale() { windowActual = (float)Screen.width / (float)Screen.height; //la window attuale //se la window corrente è diversa dalla window precedente salvata, vuol dire che si deve riscalare la camera if (windowActual != windowAspect) { windowAspect = windowActual; if (OtherMath.Similar(aspectRatioNative, windowAspect)) { ResetViewCamera(); } else { ScaleCamera(); } } }