private void OnTriggerEnter(Collider collider) { //if the player enters the steppingstones collider then hide the grapheme text and teleport point also update the players rownumber, playerpos variable and the steppingstones boolean selectedStone to true if (collider.gameObject.tag == "Player") { graphemeText.text = " "; teleportPoint.SetActive(false); plyr.rowNumber = row; selectedStone = true; npc.playerPos = stone.transform; //if the steppingstone is both selected and a correct steppingstone then update the correct respawn point, move the npc to the steppingstone and show the next row of steppingstones if (correctStone && selectedStone) { CorrectRespawnSet(); npc.NPCMove(); plyr.RespawnSetup(); plyr.RowShow(); //if its the first time the player has teleported to this correct steppingstone then show a green version of the grapheme text flying over to the otherside of the pond if (firstTime2) { lvlfin.ShowFinalStone(); firstTime2 = false; } //if its the first time the player has teleported to this correct steppingstone then play the correct sound effect if (firstTime && plyr.rowNumber != 5) { npc.Correct(); firstTime = false; } } else { //if the steppingstone is incorrect then hide the stone, play the splash sound effect and respawn the player at the last correct steppingstone DestroyStone(); npc.Splash(); plyr.LastCorrectRespawn(); } } }