Пример #1
0
        public void Deserialize(GenericReader reader)
        {
            state = PVPEventState.Setting;

            m_maker      = reader.ReadMobile();
            m_stone      = (PVPStone)reader.ReadItem();
            m_nom        = reader.ReadString();
            m_map        = PVPMap.Deserialize(reader);
            m_teams      = PVPTeamArrangement.Deserialize(reader, this);
            m_mode       = PVPMode.Deserialize(reader, this);
            m_debutEvent = reader.ReadDateTime();

            state = (PVPEventState)reader.ReadInt();

            debutTimer = new WaitingTimer(this);

            if (state >= PVPEventState.Preparing)
            {
                // Event commencé : Despawn et effaçage.
                teams.DespawnAll();
                StopEvent();
            }
            else if (m_debutEvent < DateTime.Now)
            {
                // Event surpassé : Effaçage.
                StopEvent();
            }
            else
            {
                // Event non débuté : Reboot.
                debutTimer.Start();
            }
        }