public static GameObject getLevel(int level) { GameObject original = Resources.Load <GameObject>("Prefabs/BoardTemplate"); GameObject original2 = Resources.Load <GameObject>("Prefabs/DebugCell"); int[] levelInfo = FugoUtils.getLevelInfo(level); Section section = Games.sections[levelInfo[0]]; LevelSet levelSet = section.sets[levelInfo[1]]; Level level2 = levelSet.levels[levelInfo[2]]; float num = FugoUtils.boardHeight; float num2 = num * FugoUtils.getBoardRatio(); GameObject gameObject = UnityEngine.Object.Instantiate(original); Transform transform = gameObject.transform.Find("Board"); float val = 7.5f / (float)level2.width; float val2 = num / 100f / (float)level2.height; float num3 = Math.Min(val, val2); float num4 = 100f * num3; float val3 = num2 / (float)level2.width; float val4 = num / (float)level2.height; num4 = Math.Min(val3, val4); float num5 = num2 - (float)level2.width * num4; float num6 = num - (float)level2.height * num4; UnityEngine.Debug.Log(num + " " + level2.height + " " + cellSize); num5 *= 0.5f; num6 *= 0.5f; RectTransform component = transform.GetComponent <RectTransform>(); UnityEngine.Debug.Log("board size " + component.sizeDelta); Vector2 sizeDelta = component.sizeDelta; sizeDelta.y = FugoUtils.adBoardHeight; component.sizeDelta = sizeDelta; Vector2 anchoredPosition = component.anchoredPosition; anchoredPosition.y = -100f; component.anchoredPosition = anchoredPosition; List <Word> words = level2.words; foreach (Word item in words) { int length = item.length; int x = item.X; int y = item.Y; for (int i = 0; i < length; i++) { GameObject gameObject2 = UnityEngine.Object.Instantiate(original2); gameObject2.GetComponent <Image>().color = FugoUtils.HexToColor(levelSet.InGameSelectedLetterBGColor); gameObject2.transform.Find("Text").GetComponent <Text>().color = FugoUtils.HexToColor(levelSet.InGameSelectedLetterColor); gameObject2.transform.Find("Text").GetComponent <Text>().text = item.word[i].ToString(); RectTransform component2 = gameObject2.GetComponent <RectTransform>(); gameObject2.transform.SetParent(transform.transform); component2.anchorMin = Vector2.up; component2.anchorMax = Vector2.up; component2.pivot = Vector2.up; component2.sizeDelta = Vector2.one * num4; component2.anchoredPosition = Vector2.right * x * num4 + Vector2.down * y * num4; component2.anchoredPosition += Vector2.down * num6 + Vector2.right * num5; if (item.orientation == Orientation.HORIZONTAL) { component2.anchoredPosition += Vector2.right * i * num4; } else { component2.anchoredPosition += Vector2.down * i * num4; } gameObject2.transform.localScale = Vector3.one; } } return(gameObject); }