giganciprogramowania

FleetScript l16

Jun 16th, 2023
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
Add Comment
Please, Sign In to add comment