123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using MultiDup;
- /// <summary>
- /// 相当于控制层, 利用tcp层与服务端进行通讯, 提供数据访问和修改请求.
- /// </summary>
- internal class MultiDupProxy : MonoSingleton<MultiDupProxy>
- {
- // 初始化, 离开, 获取大厅/房间数据,
- public LobbyInfo Lobby;
- /// <summary>
- /// 进入大厅
- /// </summary>
- public void EnterLobby()
- {
- MultiDupServer.Instance.Init();
- }
- public Action<SC_MD_BeginDup> OnStartGame;
- public Action<LobbyInfo> __On_GetRoomListCallBack;
- /// <summary>
- /// 拉取房间列表
- /// </summary>
- /// <param name="callback"></param>
- public void GetRoomList(Action<LobbyInfo> callback)
- {
- var ok = false;
- __On_GetRoomListCallBack = callback;
- MultiDupServer.Instance.GetRoomList(); // 发送拉取房间列表的请求.
- }
- // 创建成功的回调
- public Action<SC_MD_CreateRoom> __On_CreateRoomCallBack;
- /// <summary>
- /// 创建房间
- /// </summary>
- /// <param name="mapid"></param>
- /// <param name="callback"></param>
- public void CreateRoom(int mapid, Action<SC_MD_CreateRoom> callback)
- {
- __On_CreateRoomCallBack = callback;
- MultiDupServer.Instance.CreateRoom(mapid);
- }
- // 加入成功的回调
- public Action<SC_MD_EnterRoom> __On_EnterRoomCallback;
- /// <summary>
- /// 进入房间
- /// </summary>
- /// <param name="roomId"></param>
- /// <param name="callback"></param>
- public void EnterRoom(int roomId, Action<SC_MD_EnterRoom> callback)
- {
- __On_EnterRoomCallback = callback;
- MultiDupServer.Instance.EnterRoom(roomId);
- }
- public Action<SC_MD_BeginDup> __OnStartGameCallback;
- public void StartGame(Action<SC_MD_BeginDup> callback)
- {
- __OnStartGameCallback = callback;
- MultiDupServer.Instance.StartGame();
- }
- public void ExitLobby()
- {
- }
- #region 内部类
- /// <summary>
- /// 大厅信息
- /// </summary>
- public class LobbyInfo
- {
- public List<RoomInfo> RoomList = new List<RoomInfo>();
- /// <summary>
- /// 房间信息
- /// </summary>
- public class RoomInfo
- {
- public int RoomId;
- public int MapId;
- public List<string> PlayerUids = new List<string>();
- /// <summary>
- /// 服务器地址
- /// </summary>
- public string BattleServerAddress;
- }
- }
- #endregion
- }
|