public void submitAnswer() { if (SelectedAnswer == null) { submit.interactable = false; return; } if (!monster) { monster = FindObjectOfType <TutorialMonster>(); } if (SelectedAnswer.getAnswer() == enemyAnswerNeeded) { monster.MonsterHurt(); } else { monster.EnemyAttack(); } submit.interactable = false; SelectedAnswer.GetComponent <Image>().color = Color.white; SelectedAnswer = null; }
// Use this for initialization void Start() { // Build the wall! mazeScale = wallBlockPrefab.transform.lossyScale.x; mazeOffset = new Vector3(-MazeArray.GetLength(0) * mazeScale / 2, -MazeArray.GetLength(1) * mazeScale / 2, 9.5f); startIndex = new Vector3(0, 1, 0); indexTracker = 0; TutorialMonster tutorialMonsterScript = tutorialMonster.GetComponent(typeof(TutorialMonster)) as TutorialMonster; bool useTutMon = false; for (int i = 0; i < MazeArray.GetLength(0); i++) { for (int j = 0; j < MazeArray.GetLength(1); j++) { switch (MazeArray[i, j]) { case '0': Vector3 wallPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; Instantiate(wallBlockPrefab, wallPos, Quaternion.identity); break; case 'S': startIndex = new Vector3(i, j, 0); //Vector3 colliderPos = new Vector3(1 * mazeScale, j * mazeScale, 0) + mazeOffset; //GameObject trigger = Instantiate(colliderPrefab, colliderPos, Quaternion.identity); //trigger.GetComponent<DialogueTrigger>().dialogueIndex = indexTracker; //indexTracker++; break; case 'E': Vector3 goalPos = new Vector3(i * mazeScale, j * mazeScale, 0.15f) + mazeOffset; goal.transform.position = goalPos; break; case 'T': Vector3 colliderP = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; GameObject trig = Instantiate(colliderPrefab, colliderP, Quaternion.identity); trig.GetComponent <DialogueTrigger>().dialogueIndex = indexTracker; indexTracker++; break; case 'B': Vector3 batteryPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; GameObject newBattery = Instantiate(batteryPrefab, batteryPos, Quaternion.identity); BatteryScript batteryScript = newBattery.GetComponent(typeof(BatteryScript)) as BatteryScript; batteryScript.playerWithFlashlight = player.transform.parent.gameObject; break; case '*': Vector3 tutorialPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; // Tell the monster to seek here and shift the lamp to this position; tutorialMonsterScript.positionToSeek = tutorialPos; tutorialPos.y += 1.5f; tutorialPos.x += 0.2f; tutorialLamp.transform.position = tutorialPos; break; case '!': Vector3 tutMonsterSpawn = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; tutorialMonster.transform.position = tutMonsterSpawn; tutorialMonsterScript.positionToFlee = tutMonsterSpawn; useTutMon = true; Debug.Log("Tut mons start: " + tutMonsterSpawn); break; case 'M': Vector3 monsterSpawnTriggerLoc = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; monsterSpawnTrigger.transform.position = monsterSpawnTriggerLoc; break; } //if (MazeArray[i, j] == '0') //{ // Vector3 wallPos = new Vector3(i * mazeScale, j * mazeScale, 0) + mazeOffset; // Instantiate(wallBlockPrefab, wallPos, Quaternion.identity); //} } } transform.position = (startIndex + mazeOffset); player.transform.Rotate(new Vector3(0, 0, -90f)); // Call this last if (useTutMon) { tutorialMonsterScript.SetCameraStartPosition(); } }