Python "Game Button"' a basınca oyun sahnesi atlanılmıyor

Katılım
14 Mart 2023
Mesajlar
15
Daha fazla  
Sistem Özellikleri
İntel core i5-12500-H 12. nesil cpu RTX-3050 Ti LAPTOP GPU windows 11
Cinsiyet
Erkek
Bu kod start game buttona basılınca oyun sahnesine atmıyor yani başlatmıyor.
Kodum:

C#:
using UnityEngine;

using Photon.Pun;

using Photon.Realtime;

using TMPro;

using UnityEngine.UI;

public class RoomManager : MonoBehaviourPunCallbacks

{

 public Button createRoomButton;

 public Button joinRoomButton;

 public TMP_InputField roomCodeInput;

 public TMP_Text roomCodeText;

 public GameObject playerPanelPrefab;

 public Transform playerPanelContainer;

 public TMP_Text statusText;

 public Button startGameButton;

 private string roomCode;

 void Start()

 {

 if (!PhotonNetwork.IsConnected)

 {

 PhotonNetwork.ConnectUsingSettings();

 startGameButton.onClick.AddListener(StartGame);

 }

 // Butonlara tıklama olaylarını bağla.

 createRoomButton.onClick.AddListener(CreateRoom);

 joinRoomButton.onClick.AddListener(JoinRoom);

 joinRoomButton.interactable = false;

 startGameButton.gameObject.SetActive(false);

 }

 public override void OnConnectedToMaster()

 {

 Debug.Log("Bağlantı başarılı! Master server'a bağlandınız.");

 joinRoomButton.interactable = true;

 }

 void CreateRoom()

 {

 roomCode = "Room_" + Random.Range(1000, 9999).ToString();

 RoomOptions roomOptions = new RoomOptions();

 roomOptions.MaxPlayers = 10;

 if (PhotonNetwork.IsConnectedAndReady)

 {

 PhotonNetwork.CreateRoom(roomCode, roomOptions, TypedLobby.Default);

 roomCodeText.text = "Oda Kodu: " + roomCode;

 Debug.Log("Yeni oda oluşturuldu: " + roomCode);

 }

 else.

 {

 Debug.LogError("Photon sunucusuna bağlanırken bir hata oluştu.");

 roomCodeText.text = "Bağlantı hatası! Tekrar deneyin.";

 }

 }

 void JoinRoom()

 {

 string inputRoomCode = roomCodeInput.text.Trim();

 if (string.IsNullOrEmpty(inputRoomCode))

 {

 Debug.Log("Bir oda kodu girin.");

 return;

 }

 if (PhotonNetwork.IsConnectedAndReady)

 {

 PhotonNetwork.JoinRoom(inputRoomCode);

 playerPanelPrefab.SetActive(true);

 }

 else.

 {

 Debug.LogError("Photon sunucusuna bağlanırken bir hata oluştu.");

 roomCodeText.text = "Bağlantı hatası! Tekrar deneyin.";

 }

 }

 public override void OnJoinedRoom()

 {

 Debug.Log("Odaya katıldınız: " + PhotonNetwork.CurrentRoom.Name);

 playerPanelPrefab.SetActive(true);

 UpdatePlayerCount();

 statusText.text = "Odaya katıldınız!";

 if (PhotonNetwork.IsMasterClient)

 {

 startGameButton.gameObject.SetActive(true);

 statusText.text = "Oyun başlatılabilir!";

 startGameButton.onClick.AddListener(StartGame);

 }

 CreatePlayerPanel();

 }

 public override void OnPlayerEnteredRoom(Player newPlayer)

 {

 Debug.Log(newPlayer.NickName + " odaya katıldı!");

 UpdatePlayerCount();

 }

 public override void OnPlayerLeftRoom(Player otherPlayer)

 {

 Debug.Log(otherPlayer.NickName + " odadan ayrıldı!");

 UpdatePlayerCount();

 }

 void UpdatePlayerCount()

 {

 int playerCount = PhotonNetwork.CurrentRoom.PlayerCount;

 statusText.text = "PLAYER COUNT: " + playerCount.ToString();

 if (playerCount == PhotonNetwork.CurrentRoom.MaxPlayers)

 {

 statusText.text = "Oda doldu. Oyunu başlatabilirsiniz!";

 }

 else.

 {

 statusText.text = "Odaya daha fazla oyuncu bekleniyor...";

 }

 }

 public void StartGame()

 {

 if (PhotonNetwork.IsMasterClient)

 {

 Debug.Log("Oyunu başlatma...");

 string sceneName = "Scenes/Game";

 PhotonNetwork.LoadLevel(sceneName);

 }

 else.

 {

 Debug.LogWarning("Sadece oda sahibi oyunu başlatabilir.");

 }

 }

 public override void OnCreateRoomFailed(short returnCode, string message)

 {

 Debug.LogError("Oda oluşturulamadı: " + message);

 roomCodeText.text = "Oda oluşturulamadı. Tekrar deneyin.";

 }

 public override void OnJoinRoomFailed(short returnCode, string message)

 {

 Debug.LogError("Odaya katılamadınız: " + message);

 roomCodeText.text = "Odaya katılamadınız. Oda kodunu kontrol edin.";

 }

 public void CreatePlayerPanel()

 {

 if (playerPanelPrefab != null && playerPanelContainer != null)

 {

 GameObject playerPanel = Instantiate(playerPanelPrefab, playerPanelContainer);

 playerPanel.SetActive(true);

 Debug.Log("Oyuncu paneli oluşturuldu: " + playerPanel.name);

 }

 else.

 {

 Debug.LogError("playerPanelPrefab veya playerPanelContainer null!");

 }

 playerPanelPrefab.SetActive(true);

 }

}
 

Technopat Haberler

Yeni konular

Geri
Yukarı