SHOW:
|
|
- or go back to the newest paste.
| 1 | using System.Collections; | |
| 2 | using System.Collections.Generic; | |
| 3 | using UnityEngine; | |
| 4 | using TMPro; | |
| 5 | using UnityEngine.SceneManagement; | |
| 6 | ||
| 7 | public class FleetScript : MonoBehaviour | |
| 8 | {
| |
| 9 | //czas co ile porusza się flota | |
| 10 | public float moveTime = 2; | |
| 11 | //prędkość | |
| 12 | public float moveSpeed; | |
| 13 | //licznik ruchów | |
| 14 | int moveCounter = 0; | |
| 15 | //kierunek poruszania | |
| 16 | int moveDir; | |
| 17 | ||
| 18 | public bool gameRun; | |
| 19 | ||
| 20 | public TMP_Text endText; | |
| 21 | ||
| 22 | public AlienLeaderScript leader; | |
| 23 | ||
| 24 | void Start() | |
| 25 | {
| |
| 26 | ||
| 27 | StartGame(); | |
| 28 | } | |
| 29 | ||
| 30 | void Update() | |
| 31 | {
| |
| 32 | if(gameRun && transform.childCount == 0) | |
| 33 | {
| |
| 34 | //jeżeli gra trwa i we flocie nie ma już obcych to zatrzymujemy grę | |
| 35 | StopGame(true); | |
| 36 | } | |
| 37 | //reset gdy naciśniemy R | |
| 38 | if (Input.GetKeyDown(KeyCode.R)) SceneManager.LoadScene(0); | |
| 39 | } | |
| 40 | ||
| 41 | public void StopGame(bool win) | |
| 42 | {
| |
| 43 | //Zatrzymujemy ruch i grę | |
| 44 | CancelInvoke("Move");
| |
| 45 | leader.StopLeader(); | |
| 46 | gameRun = false; | |
| 47 | //włączamy tekst i wypisujemy odpowiedni tekst | |
| 48 | endText.gameObject.SetActive(true); | |
| 49 | endText.text = win ? "You Win!" : "You Lose!"; | |
| 50 | } | |
| 51 | ||
| 52 | public void StartGame() | |
| 53 | {
| |
| 54 | moveDir = 1; | |
| 55 | //rozpoczynamy wywoływanie metody ruch co wybrany czas | |
| 56 | InvokeRepeating("Move", moveTime, moveTime);
| |
| 57 | leader.StartLeader(); | |
| 58 | //aktywujemy grę i wyłączamy widoczność tekstu | |
| 59 | gameRun = true; | |
| 60 | endText.gameObject.SetActive(false); | |
| 61 | } | |
| 62 | ||
| 63 | void Move() | |
| 64 | {
| |
| 65 | //w zależności od ierunku przesuwamy się i zmieniamy licznik | |
| 66 | transform.position += new Vector3(moveSpeed * moveDir, 0, 0); | |
| 67 | moveCounter += moveDir; | |
| 68 | ||
| 69 | //Jeżeli licznik zejdzie do -4 lub 4 przesuwamy się w dół | |
| 70 | if (moveCounter <= -4 || moveCounter >= 4) | |
| 71 | {
| |
| 72 | moveDir *= -1; | |
| 73 | transform.position -= new Vector3(0, moveSpeed, 0); | |
| 74 | } | |
| 75 | } | |
| 76 | } | |
| 77 |