private void Start() { _instance = this; Screen.SetResolution(600, 600, false); var path = Path.Combine(Application.dataPath, "background.jpg"); if (File.Exists(path)) //file doesnt exist, abort mission! { //read the contents. byte[] data = File.ReadAllBytes(path); // get the texture Texture2D tex = new Texture2D(1, 1); tex.LoadImage(data); //www.LoadImageIntoTexture(tex); mainBackground.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.one / 2f, 100); //todo ?? adjust the height of the image in the UI: //float correctHeight = ((float)tex.height / (float)tex.width )* mainBackground.rectTransform.rect.width; //mainBackground.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, correctHeight); } //setup reset n such: resDropdown.onValueChanged.AddListener(ResetGameFor); currentRes = gameSizes[defaultSize]; InitGame(true); }
/// <summary> /// Reset the game using the resolution and the given index. /// </summary> /// <param name="index">index of the resolution</param> void ResetGameFor(int index) { //do this first. var res = gameSizes[index]; bool change = res != currentRes; if (change) { //adjust the window size: int width = (int)Mathf.Max(minWidth, res.width * (tileSize + tileOffset)); print(width); int height = res.height * (int)(tileSize + tileOffset) + marginTop + marginBottom; print(height); Screen.SetResolution(width, height, false); } //init the game last. currentRes = res; InitGame(change); }