Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.SceneManagement;
- public class Level : MonoBehaviour {
- int numTreasures; // aarteiden kokonaismäärä
- int collected = 0; // kerättyjen aarteiden lukumäärä
- bool levelComplete = false; // onko kenttä pelattu läpi
- GameObject player; // viittaus pelaajaan
- public float levelBottomY = -10f; // kentän "pohja", missä pelaaja kuolee
- Vector3 startPosition; // viittaus pelaajan alkupositioon
- // Use this for initialization
- void Start () {
- player = GameObject.FindGameObjectWithTag("Player");
- GameObject[] treasureObjects = GameObject.FindGameObjectsWithTag("Treasure"); // hakee aarteet tagien perusteella Array-muuttujaan
- numTreasures = treasureObjects.Length; // laskee aarteiden määrän muuttujaan
- startPosition = player.transform.position; // tallentaa pelaajan alkusijainnin muuttujaan
- }
- void TreasureCollected() // rekisteröi kerättyjen aarteiden määrän
- {
- collected++;
- if (collected >= numTreasures)
- {
- levelComplete = true;
- }
- }
- void resetPlayer() // palauttaa pelaajan alkuun putoamisen jälkeen
- {
- player.transform.position = startPosition;
- }
- private void Update()
- {
- if (player.transform.position.y <= levelBottomY)
- {
- resetPlayer();
- }
- if (levelComplete == true)
- {
- int nextLevel = SceneManager.GetActiveScene().buildIndex + 1;
- if (nextLevel >= SceneManager.sceneCountInBuildSettings)
- {
- nextLevel = 0;
- }
- SceneManager.LoadScene(nextLevel);
- }
- }
- void OnGUI()
- {
- GUI.skin.label.fontSize = 20;
- GUI.Label(new Rect(10, 40, 200, 30), "Treasures: " + collected + "/" + numTreasures);
- }
- public void Death()
- {
- Destroy(player); // tappaa pelaajahahmon
- Invoke("ReloadScene", 2); // kutsuu ReloadScene -funktiota kahden sekunnin kuluttua
- }
- void ReloadScene() //lataa saman scenen uudestaan räjähdyksen jälkeen
- {
- SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
- }
- void CheckPoint() // vaihtaa tippumisen johdosta tapahtuvan uudelleensyntymän paikan
- {
- startPosition = player.transform.position;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment