Advertisement
Guest User

FleetScript

a guest
May 23rd, 2023
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.86 KB | None | 0 0
  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.     void Start()
  23.     {
  24.         moveDir = 1;
  25.         StartGame();
  26.     }
  27.  
  28.     void Update()
  29.     {
  30.         if(gameRun && transform.childCount == 0)
  31.         {
  32.             //jeżeli gra trwa i we flocie nie ma już obcych to zatrzymujemy grę
  33.             StopGame(true);
  34.         }
  35.         //reset gdy naciśniemy R
  36.         if (Input.GetKeyDown(KeyCode.R)) SceneManager.LoadScene(0);
  37.     }
  38.  
  39.     public void StopGame(bool win)
  40.     {
  41.         //Zatrzymujemy ruch i grę
  42.         CancelInvoke("Move");
  43.         gameRun = false;
  44.         //włączamy tekst i wypisujemy odpowiedni tekst
  45.         endText.gameObject.SetActive(true);
  46.         endText.text = win ? "You Win!" : "You Lose!";
  47.     }
  48.  
  49.     public void StartGame()
  50.     {
  51.         //rozpoczynamy wywoływanie metody ruch co wybrany czas
  52.         InvokeRepeating("Move", moveTime, moveTime);
  53.         //aktywujemy grę i wyłączamy widoczność tekstu
  54.         gameRun = true;
  55.         endText.gameObject.SetActive(false);
  56.     }
  57.  
  58.     void Move()
  59.     {
  60.         //w zależności od ierunku przesuwamy się i zmieniamy licznik
  61.         transform.position += new Vector3(moveSpeed * moveDir, 0, 0);
  62.         moveCounter += moveDir;
  63.  
  64.         //Jeżeli licznik zejdzie do -4 lub 4 przesuwamy się w dół
  65.         if (moveCounter <= -4 || moveCounter >= 4)
  66.         {
  67.             moveDir *= -1;
  68.             transform.position -= new Vector3(0, moveSpeed, 0);
  69.         }
  70.     }
  71. }
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement