View difference between Paste ID: DjEjsGjn and xy4mwbFM
SHOW: | | - or go back to the newest paste.
1
using System.Collections;
2
using System.Collections.Generic;
3
using UnityEngine;
4
using TMPro; //Wymagane do zarządzania tekstami
5
using Photon.Realtime;
6
using Photon.Pun;
7
using System.IO;
8
9
public class PongManager : MonoBehaviour
10
{
11
    //czy gra trwa
12
    public bool gameRun;
13
14
    //Singleton odpowidzialny za zarządzanie
15
    public static PongManager instance;
16
17
    //punkty graczy
18
    public int player1Points;
19
    public int player2Points;
20
21
    //odniesienie do naszych tekstów
22
    public TMP_Text p1p;
23
    public TMP_Text p2p;
24
25
    //Odniesienie do piłki
26
    Ball ball;
27
28
    public Transform p1;
29
    public Transform p2;
30
    
31
32
    void Awake()
33
    {
34
        //Podłączenie singletona
35
        if(instance == null)
36
        {
37
            instance = this;
38
        }
39
        
40
        gameRun = false;
41
        player1Points = 0;
42
        player2Points = 0;
43
        UIUpdate();
44
        //znalezienie obiektu z skryptem ball
45
        ball = FindObjectOfType<Ball>();
46
        CreatePlayer();
47
    }
48
49
    void CreatePlayer()
50
    {
51
        //Jeżeli jesteśmy twórcą pokoju to zostajemy graczem 1
52
        if(PhotonNetwork.IsMasterClient)
53
        {
54
            PhotonNetwork.Instantiate("Paddle", p1.position, Quaternion.identity);
55
56
        } else //w przeciwnym wypadku graczem 2
57
        {
58
            PhotonNetwork.Instantiate("Paddle", p2.position, Quaternion.identity);
59
        }
60
61
    }
62
63
    void Update()
64
    {
65
        //Uruchomienie gry, tylko założyciel może uruchomić kulkę
66
        if (Input.GetKeyDown(KeyCode.Space) && !gameRun && PhotonNetwork.IsMasterClient)
67
        {
68
            ball.StartGame();
69
            gameRun = true;
70
        }
71
72
        //zamknięcie aplikacji po wciśnięciu Esc
73
        if (Input.GetKeyDown(KeyCode.Escape))
74
        {
75
            Application.Quit();
76
        }
77
    }
78
79
    //Wyświetlanie punktów
80
    public void UIUpdate()
81
    {
82
        p1p.text = player1Points.ToString();
83
        p2p.text = player2Points.ToString();
84
    }
85
86
    //zwiększenie ilości punktów, true dla gracza 1 a false dla gracza 2
87
    public void UpdatePoints(bool player)
88
    {
89
        if(player) player1Points++;
90
        else player2Points++;
91
        UIUpdate();
92
    }
93
}
94