unity连接photon服务端模块


using UnityEngine;
using System.Collections;
using System;

public class PhotonConnection : Photon.MonoBehaviour
{
	//房间名称
    private string roomName = "myroom";
	//用户名称
    public string Name="路人";
	//用来绑定信息交互的脚本
    public GameObject sendmessage;

    /// <summary>
    /// 开始连接Photon服务器
    /// </summary>
    private void Awake()
    {
        if (!PhotonNetwork.connected)
        {
            PhotonNetwork.ConnectUsingSettings("1.0");
        }
		//如果用户名称为null或者Empty时,设置用户名,并保证每个用户的名称不重复
        if (string.IsNullOrEmpty(PhotonNetwork.playerName))
        {
            PhotonNetwork.playerName = Name+UnityEngine.Random.Range(1, 9999);
        }
    }
	//加入大厅
    void OnJoinedLobby()
    {
		PhotonNetwork.autoCleanUpPlayerObjects = true;
		///加入大厅后,可以选择创建房间或者加入房间,但因为进入大厅时,有时不能及时
		/// 更新放假列表,所以建议在后面房间更新函数里面去创建或者加入房间
		///创建房间:1 名称 2 可见 3 打开 4 最大人数
		///PhotonNetwork.Create(roomName,true,true,10);
		///加入房间
		///PhotonNetwork.JoinRoom(rooName); 
    }
	//随机加入房间失败
    void OnPhotonRandomJoinFailed()
    {
        PhotonNetwork.CreateRoom(null);
       	
    }
	//加入房间
    void OnJoinedRoom()
    {
 		//加入房间后,就可以跟同一房间的人进行信息交互
        sendmessage.SetActive(true);
		//PhotonNetwork.palyerName = null;
		//photonNetwork.LeaveRoom (); //离开房间
    }
	//房间更新
    void OnReceivedRoomListUpdate()
    {
		//当前房间总数为0时,则创建一个房间
		if (PhotonNetwork.countOfRooms == 0) 
		{
			 PhotonNetwork.CreateRoom(roomName, new RoomOptions() { maxPlayers=10},null);		
		}
		else 
		{
			PhotonNetwork.JoinRoom(roomName);		
		}
    }
	//加入房间失败
    void OnPhotonJoinRoomFailed()
    {

    }
	//链接的用户
    void OnPhotonPlayerConnected(PhotonPlayer newPlayer)
    {

    }


}


 

 

 

 

posted on 2014-11-30 17:34  王亮1  阅读(302)  评论(0编辑  收藏  举报

导航