Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using TMPro;
- using UnityEngine.SceneManagement;
- public class FleetScript : MonoBehaviour
- {
- //czas co ile porusza się flota
- public float moveTime = 2;
- //prędkość
- public float moveSpeed;
- //licznik ruchów
- int moveCounter = 0;
- //kierunek poruszania
- int moveDir;
- public bool gameRun;
- public TMP_Text endText;
- void Start()
- {
- moveDir = 1;
- StartGame();
- }
- void Update()
- {
- if(gameRun && transform.childCount == 0)
- {
- //jeżeli gra trwa i we flocie nie ma już obcych to zatrzymujemy grę
- StopGame(true);
- }
- //reset gdy naciśniemy R
- if (Input.GetKeyDown(KeyCode.R)) SceneManager.LoadScene(0);
- }
- public void StopGame(bool win)
- {
- //Zatrzymujemy ruch i grę
- CancelInvoke("Move");
- gameRun = false;
- //włączamy tekst i wypisujemy odpowiedni tekst
- endText.gameObject.SetActive(true);
- endText.text = win ? "You Win!" : "You Lose!";
- }
- public void StartGame()
- {
- //rozpoczynamy wywoływanie metody ruch co wybrany czas
- InvokeRepeating("Move", moveTime, moveTime);
- //aktywujemy grę i wyłączamy widoczność tekstu
- gameRun = true;
- endText.gameObject.SetActive(false);
- }
- void Move()
- {
- //w zależności od ierunku przesuwamy się i zmieniamy licznik
- transform.position += new Vector3(moveSpeed * moveDir, 0, 0);
- moveCounter += moveDir;
- //Jeżeli licznik zejdzie do -4 lub 4 przesuwamy się w dół
- if (moveCounter <= -4 || moveCounter >= 4)
- {
- moveDir *= -1;
- transform.position -= new Vector3(0, moveSpeed, 0);
- }
- }
- }
Add Comment
Please, Sign In to add comment