//--------------------------------------------------------------------------- /// <summary> /// ボイスアダプターを接続する(OnPreDecodeは PlayerId Data Channels SamplingRate) /// </summary> /// <param name="tOnReceived"></param> public static MultiplayerRequest AttachVoiceAdapter(int tPlayerId, Transform tParent, bool t3D = true, int tSamplingRate = 16000, int tPacketTime = 40, Action <int, float[], int, int> tOnPreDecode = null) { if (m_Instance == null || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.AttachVoiceAdapter(tPlayerId, tParent, t3D, tSamplingRate, tPacketTime, tOnPreDecode, tRequest)); return(tRequest); }
//----------------------------------- /// <summary> // ルームを退室する /// </summary> /// <param name="tPlayerName"></param> /// <returns></returns> public static MultiplayerRequest LeaveRoom(Action <LeaveRoomResult> tOnRoomLeft) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.LeaveRoom(tOnRoomLeft, tRequest)); return(tRequest); }
/// <summary> /// 何等かの情報を受信するまで待つ(待ち受け中にエラーが発生した場合はデータ無し状態のコールバックが発生する) /// </summary> /// <param name="tOnRoomLeft"></param> /// <returns></returns> public static MultiplayerRequest Receive(Action <bool, int, System.Object[]> tOnRecievied) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.Receive(tOnRecievied, tRequest)); return(tRequest); }
/// <summary> // ランダムにルームに入室する(将来的に条件指定に対応する) /// </summary> /// <param name="tPlayerName"></param> /// <returns></returns> public static MultiplayerRequest JoinRandomRoom(Action <JoinRoomResult, int[]> tOnRoomJoined = null, Action <int, bool> tOnRoomStatusChanged = null, Action <int> tOnRoomHostChanged = null) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.JoinRandomRoom(tOnRoomJoined, tOnRoomStatusChanged, tOnRoomHostChanged, tRequest)); return(tRequest); }
/// <summary> // ルームに入室または作成する /// </summary> /// <param name="tPlayerName"></param> /// <returns></returns> public static MultiplayerRequest JoinOrCreateRoom(string tRoomName, int tMaxPlayer = 0, bool tVisible = true, bool tOpen = true, string tPassword = null, string tComment = null, string tLobbyName = null, Action <JoinOrCreateRoomResult, int[]> tOnRoomJoinedOrCreated = null, Action <int, bool> tOnRoomStatusChanged = null, Action <int> tOnRoomHostChanged = null) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.JoinOrCreateRoom(tRoomName, tMaxPlayer, tVisible, tOpen, tPassword, tComment, tLobbyName, tOnRoomJoinedOrCreated, tOnRoomStatusChanged, tOnRoomHostChanged, tRequest)); return(tRequest); }
//----------------------------------- /// <summary> // ロビーに入室または作成する /// </summary> /// <param name="tPlayerName"></param> /// <returns></returns> public static MultiplayerRequest JoinLobby(string tLobbyName, Action <JoinLobbyResult> tOnLobbyJoined = null, Action <MultiplayerRoomData[]> tOnLobbyStatusChanged = null) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.JoinLobby(tLobbyName, tOnLobbyJoined, tOnLobbyStatusChanged, tRequest)); return(tRequest); }
//----------------------------- /// <summary> /// サーバと切断する /// </summary> /// <param name="tOnDisconnected"></param> /// <returns></returns> public static MultiplayerRequest DisconnectServer(Action <DisconnectServerResult> tOnDisconnected = null) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.DisconnectServer(tOnDisconnected, tRequest)); return(tRequest); }
//----------------------------------------------------------- /// <summary> // サーバに接続する /// </summary> /// <param name="tPlayerName"></param> /// <returns></returns> public static MultiplayerRequest ConnectServer(string tServerName, string tDefaultLobbyName = "DefaultLobby", Action <ConnectServerResult> tOnConnected = null, Action tOnDisconnectedFromServer = null, Action <MultiplayerRoomData[]> tOnLobbyStatusChanged = null) { if (m_Instance == false || m_Instance.m_Controller == null) { return(null); } MultiplayerRequest tRequest = new MultiplayerRequest(); m_Instance.StartCoroutine(m_Instance.m_Controller.ConnectServer(tServerName, tDefaultLobbyName, tOnConnected, tOnDisconnectedFromServer, tOnLobbyStatusChanged, tRequest)); return(tRequest); }