public static PuzzleDefinition LoadFromJsonText(string jsonText) { PuzzleDefinition def = new PuzzleDefinition(); def = JsonConvert.DeserializeObject <PuzzleDefinition>(jsonText); return(def); }
public PuzzleBoard(PuzzleBoardHandler handler, StageDefinition stageDefinition, PoemInstance poemInstance) { this.handler = handler; this.stageDefinition = stageDefinition; this.poemDefinition = stageDefinition.PoemDefinition; this.puzzleDefinition = stageDefinition.PuzzleDefinition; this.poemInstance = poemInstance; Vector2 size = TranslateBoardSize(this.puzzleDefinition.BoardSize); this.Width = (int)size.x; this.Height = (int)size.y; List <string> targetCharacterIds = ComposeTargetCharIds(); List <string> appearingCharacterIds = GenerateAppearingCharIds(targetCharacterIds); this.PuzzleCharacters = new List <PuzzleCharacter>(); currentCharacterIndex = 0; foreach (string appearingCharId in appearingCharacterIds) { this.PushCharacter(appearingCharId); } Debug.Log("Pushed all appearing characters."); try { GenerateAndEnsureMatrix(this.PuzzleCharacters); } catch (Exception ex) { throw ex; } }
// Start is called before the first frame update void Start() { ScrollRect scrollRect = puzzleSelectionToggleGroup.GetComponentInParent <ScrollRect>(); Scrollbar scrollbar = scrollRect.GetComponentInChildren <Scrollbar>(); for (int i = 0; i < puzzleDefinitions.Length; i++) { RectTransform toggleGroupRectTransform = puzzleSelectionToggleGroup.GetComponent <RectTransform>(); GameObject toggleGameObject = Instantiate <GameObject>(puzzleSelectionTogglePrefab, toggleGroupRectTransform); RectTransform toggleRectTransform = toggleGameObject.GetComponent <RectTransform>(); RectTransform scrollRectRectTransform = scrollRect.GetComponent <RectTransform>(); RectTransform scrollbarRectTransform = scrollbar.GetComponent <RectTransform>(); float toggleGroupWidth = scrollRectRectTransform.rect.width - scrollbarRectTransform.rect.width; toggleRectTransform.anchorMin = new Vector2(0, 1); toggleRectTransform.anchorMax = new Vector2(0, 1); toggleRectTransform.anchoredPosition = new Vector2(toggleGroupWidth / 2, -toggleGroupWidth * i); toggleRectTransform.sizeDelta = new Vector2(toggleGroupWidth, toggleGroupWidth); PuzzleDefinitionContainer container = toggleGameObject.GetComponent <PuzzleDefinitionContainer>(); container.puzzle.image = puzzleDefinitions[i].image; container.puzzle.revealText = puzzleDefinitions[i].revealText; Image toggleImage = toggleGameObject.GetComponentInChildren <Image>(); Vector2 imageSize = new Vector2(container.puzzle.image.width, container.puzzle.image.height); toggleImage.sprite = Sprite.Create(container.puzzle.image, new Rect(new Vector2(0, 0), imageSize), new Vector2(0.5f, 0.5f)); Toggle toggle = toggleGameObject.GetComponent <Toggle>(); toggle.group = puzzleSelectionToggleGroup; } puzzleSelectionToggleGroup.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, 0); currentPuzzleDefinition = puzzleDefinitions[0]; StartNewGamePuzzle(); }
public Puzzle(PuzzleDefinition def) { Definition = def; Glyphs = Game.Instance.puzzleDict.toGlyphs(def.Answer); }