Example #1
0
        async public void ChangeTimeState(EGameTimeState state)
        {
            TimeState = state;
            var ack = new Packet(EGamePacket.SRoomChangeSubState);

            ack.Write((uint)state);
            if (state == EGameTimeState.HalfTime)
            {
                await Task.Factory.StartNew(() =>
                {
                    for (var i = 10; i > -1; i--) // 10 seconds
                    {
                        BroadcastEventMessage(EPlayerEventMessage.HalfTimeIn, i.ToString(), 2);
                        Task.Delay(1000).Wait();
                    }
                });

                Broadcast(ack);

                await Task.Delay(25000); // 25 seconds half time

                ChangeTimeState(EGameTimeState.SecondHalf);
                RoundStartTime = DateTime.Now;
                return;
            }
            Broadcast(ack);
        }
Example #2
0
        async public void ChangeTimeState(EGameTimeState state)
        {
            TimeState = state;
            var ack = new Packet(EGamePacket.SRoomChangeSubState);
            ack.Write((uint)state);
            if (state == EGameTimeState.HalfTime)
            {
                await Task.Factory.StartNew(() =>
                {
                    for (var i = 10; i > -1; i--) // 10 seconds
                    {
                        BroadcastEventMessage(EPlayerEventMessage.HalfTimeIn, i.ToString(), 2);
                        Task.Delay(1000).Wait();
                    }
                });
                Broadcast(ack);

                await Task.Delay(25000); // 25 seconds half time
                ChangeTimeState(EGameTimeState.SecondHalf);
                RoundStartTime = DateTime.Now;
                return;
            }
            Broadcast(ack);
        }