Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        /// <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);
            }
        }
Ejemplo n.º 4
0
 private void Init()
 {
     gamePhase = GamePhase.GameStart;
     uclient = GameObject.Find("NetworkObject").GetComponent<UClient>();
 }