Ejemplo n.º 1
0
        /// <summary>
        /// 广播加载进度
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SendLoading(object sender, ElapsedEventArgs e)//广播进度并判断
        {
            bool          Temp  = true;
            ProtocolBytes bytes = new ProtocolBytes();

            bytes.SetProtocol(Fursion_Protocol.Loading);
            RoomInitInfo roomplayerInfo = new RoomInitInfo();

            foreach (Player player in MemberList.Values)
            {
                RoomPlayer roomPlayer = player.TempData.PlayerGameInfo;
                roomplayerInfo.RoomPlayers.Add(roomPlayer);
            }
            bytes.AddData(JsonConvert.SerializeObject(roomplayerInfo));
            foreach (Player player in MemberList.Values)
            {
                if (player != null && player.UDPClient != null)
                {
                    UDP.instance.SocketSend(bytes, player.UDPClient);
                }
            }
            foreach (Player player in MemberList.Values)
            {
                Temp &= player.TempData.PlayerGameInfo.LoadingProgressBool;
            }
            if (Temp)
            {
                ToStart();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 进入加载阶段
        /// </summary>
        /// <param name="roomInitInfo"></param>
        public void ToLoadingStage(RoomInitInfo roomInitInfo)
        {
            SelectTime.Dispose();
            ProtocolBytes protocol = new ProtocolBytes();

            protocol.SetProtocol(Fursion_Protocol.Loading);
            protocol.AddData(JsonConvert.SerializeObject(roomInitInfo));
            foreach (Player player1 in MemberList.Values)
            {
                UDP.instance.SocketSend(protocol, player1.UDPClient);
            }
            LoadTimer.Enabled           = true;
            MaxWaitLoadingTimer.Enabled = true;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 客户端模型选择锁定函数,并判断是否全部锁定
        /// </summary>
        /// <param name="select"></param>
        public void LockSelect()
        {
            RoomInitInfo roomplayerInfo = new RoomInitInfo();
            bool         AllLockSelect  = true;

            foreach (Player player in MemberList.Values)
            {
                roomplayerInfo.RoomPlayers.Add(player.TempData.PlayerGameInfo);
                AllLockSelect &= player.TempData.PlayerGameInfo.LockSelect;
            }
            if (AllLockSelect)
            {
                ToLoadingStage(roomplayerInfo);
            }
        }