본문 바로가기
개발/Photon

유니티 C# 포톤 서버 접속하기 간단 구현 Photon Server

by SPNK 2022. 12. 22.
반응형

포톤 서버 접근 순서

  • 서버 접속
  • 로비 접속
  • 방 만들기
  • 방 만들고 참가하기
  • 방 떠나기

 

  • 코드 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
using UnityEngine.UI;

public class NetworkManager : MonoBehaviourPunCallbacks
{

    void Awake()
    {
        Connect();
    }


    public void Connect()
    {
        Debug.Log("서버에 접속중입니다.");

        PhotonNetwork.AutomaticallySyncScene = true;
        PhotonNetwork.ConnectUsingSettings();
    }

    public override void OnConnectedToMaster()
    {
        Debug.Log("서버에 연결되었습니다.");
    }


    public void Disconnect()
    {
        PhotonNetwork.Disconnect();
    }

    public override void OnDisconnected(DisconnectCause cause)
    {
        Debug.Log("서버와 연결이 끊겼습니다.");
    }


    public void JoinLobby()
    {
        Debug.Log("로비에 참가중입니다.");

        PhotonNetwork.JoinLobby();
    }


    public override void OnJoinedLobby()
    {
        Debug.Log("로비에 연결되었습니다.");
    }


    public void CreateRoom()
    {
        Debug.Log("방을 만들고 있습니다.");

        PhotonNetwork.LocalPlayer.NickName = "닉네임 설정";

        PhotonNetwork.CreateRoom("방 이름", roomOption, null);
    }

    public void JoinRoom()
    {
        Debug.Log("방에 참가하였습니다.");

        PhotonNetwork.JoinRoom("방 이름");
    }

    public void JoinOrCreateRoom()
    {
        PhotonNetwork.LocalPlayer.NickName = "닉네임 설정";

        PhotonNetwork.JoinOrCreateRoom("방 이름", roomOption, null);
    }


    public void JoinRandomRoom()
    {
        PhotonNetwork.JoinRandomRoom();
    }


    public void LeaveRoom()
    {
        Debug.Log("방을 떠났습니다.");

        PhotonNetwork.LeaveRoom();
    }


    public override void OnCreatedRoom()
    {
        Debug.Log("방을 만들었습니다.");
    }


    public override void OnJoinedRoom()
    {
        Debug.Log("방에 참가하였습니다.");
    }


    public override void OnCreateRoomFailed(short returnCode, string message)
    {
        Debug.Log("방 만들기 실패했습니다.");
    }


    public override void OnJoinRoomFailed(short returnCode, string message)
    {
        Debug.Log("방 참가 실패했습니다.");
    }

    public override void OnJoinRandomFailed(short returnCode, string message)
    {
        Debug.Log("랜덤방에 참가할 수 없습니다.");
    }
}
반응형

댓글