public override void OnClick(BaseEventData data) { base.OnClick(data); _slidePuzzleScreen.gameObject.SetActive(true); if (_slidingPuzzle == null) { _slidingPuzzle = SlidingPuzzle.CreatePuzzleWithParent(_slidePuzzleContainer, _slidePuzzleImage); _slidingPuzzle.SetOnCompleteCallback(OnCompletePuzzle); } }
public static SlidingPuzzle CreatePuzzleWithParent(RectTransform parent, Texture2D puzzleImage) { // create the puzzle canvas GameObject puzzleCanvas = new GameObject("SlidingPuzzle"); RectTransform canvas = puzzleCanvas.AddComponent <RectTransform>(); canvas.SetParent(parent); canvas.localPosition = Vector3.zero; canvas.localScale = Vector3.one; canvas.sizeDelta = parent.sizeDelta; SlidingPuzzle slidingPuzzle = puzzleCanvas.AddComponent <SlidingPuzzle>(); slidingPuzzle.CreatePuzzleBoard(canvas, puzzleImage); return(slidingPuzzle); }