/// <summary> /// 整个房间的初始化 /// </summary> private async void Init() { PlayerInit(); //选择英雄的时间 await Task.Delay(selectHeroTime); //是不是所有玩家都锁定了英雄 if (lockCount == (roomInfo.TeamA.Count + roomInfo.TeamB.Count)) { //所有人都锁定了选择的英雄 //可以加载战斗了 RoomToBattleS2C s2cMSG = new RoomToBattleS2C(); foreach (var rolesID in playerList.Keys) { UClient client = GameManager.uSocket.GetClient (PlayerManager.GetPlayerEntityFromRoles(rolesID).session); //缓存每一个客户端 为广播接口服务的 clientList.TryAdd(rolesID, client); s2cMSG.PlayerList.Add(playerList[rolesID]); } Broadcast(1407, s2cMSG); } else { //解散房间 RoomCloseS2C s2cMSG = new RoomCloseS2C(); Broadcast(1403, s2cMSG); //通知房间管理器 释放掉这个房间 RoomManager.Instance.Remove(roomID); } }
public void StartUdp(int type) { if (type == 1) { if (udp == null) { udp = new UClient(this); udp.Handlers = tcp_handle; } } else if (type == 2) { kcp = new KCPClient(); kcp.Event += Client_Event; kcp.Connect("192.168.2.91", 7566, (uint)main.entity_id, main.entity_id); } }
/// <summary> /// 角色的初始化 /// </summary> void PlayerInit() { for (int i = 0; i < roomInfo.TeamA.Count; i++) { PlayerInfo playerInfo = new PlayerInfo(); playerInfo.RolesInfo = roomInfo.TeamA[i]; //默认的值 playerInfo.SkillA = 103; playerInfo.SkillB = 106; playerInfo.HeroID = 0; //表示未选择 playerInfo.TeamID = 0; playerInfo.PosID = i; //0-4 playerList.TryAdd(playerInfo.RolesInfo.RolesID, playerInfo); UClient client = GameManager.uSocket.GetClient (PlayerManager.GetPlayerEntityFromRoles(playerInfo.RolesInfo.RolesID).session); //缓存每一个客户端 为广播接口服务的 clientList.TryAdd(playerInfo.RolesInfo.RolesID, client); //加载进度 playerProgress.TryAdd(playerInfo.RolesInfo.RolesID, 0); } for (int i = 0; i < roomInfo.TeamB.Count; i++) { PlayerInfo playerInfo = new PlayerInfo(); playerInfo.RolesInfo = roomInfo.TeamB[i]; //默认的值 playerInfo.SkillA = 103; playerInfo.SkillB = 106; playerInfo.HeroID = 0; //表示未选择 playerInfo.TeamID = 1; playerInfo.PosID = i + 5; //5-9 playerList.TryAdd(playerInfo.RolesInfo.RolesID, playerInfo); UClient client = GameManager.uSocket.GetClient (PlayerManager.GetPlayerEntityFromRoles(playerInfo.RolesInfo.RolesID).session); //缓存每一个客户端 为广播接口服务的 clientList.TryAdd(playerInfo.RolesInfo.RolesID, client); //加载进度 playerProgress.TryAdd(playerInfo.RolesInfo.RolesID, 0); } }
private void Init() { gamePhase = GamePhase.GameStart; uclient = GameObject.Find("NetworkObject").GetComponent<UClient>(); }