View difference between Paste ID: 5s81zrfn and GHKeMuPZ
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
    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