public void SetTheoremImage(TheoremConfig theorem) { gameController = FindObjectOfType <GameController>(); Image theoremImage = theorem.GetTheoremImage(); // Set image sprite GameObject childCanvas = this.transform.Find("Canvas").gameObject; GameObject canvasImage = childCanvas.transform.Find("Theorem Image").gameObject; canvasImage.GetComponent <Image>().sprite = theoremImage.sprite; // Set image width and height RectTransform canvasRectTransform = canvasImage.GetComponent <RectTransform>(); RectTransform theoremImageRectTransform = theoremImage.GetComponent <RectTransform>(); canvasRectTransform.sizeDelta = theoremImageRectTransform.sizeDelta; }
public IEnumerator SpawnSymbols(TheoremConfig theorem) { while (!gameController.AreAllSymbolsMatched()) { GameObject symbol = symbols[Random.Range(0, symbols.Length)]; symbol.GetComponent <Rigidbody2D>().gravityScale = symbolGravityScale; Vector3 startPos = new Vector3(Random.Range(leftSpawningBound, rightSpawningBound), topSpawningBound, 0); Instantiate(symbol, startPos, Quaternion.identity); float timeToWait = Random.Range(minTimeBetweenSymbols, maxTimeBetweenSymbols); yield return(new WaitForSeconds(timeToWait)); } }
private void Start() { winLabel.SetActive(false); loseLabel.SetActive(false); TheoremConfig theorem = theorems[Random.Range(0, theorems.Length)]; theoremSymbols = theorem.GetTheoremSymbols(); hilbert = FindObjectOfType <Hilbert>(); speechController = FindObjectOfType <SpeechBubbleController>(); levelController = FindObjectOfType <LevelController>(); symbolSpawner = FindObjectOfType <SymbolSpawner>(); symbolSpawner.SetTheoremImage(theorem); StartCoroutine(symbolSpawner.SpawnSymbols(theorem)); }