public override void OnResponse(Mobile from, string text) { int page = m_Page; BaseBulletinBoard board = m_Board; if (!from.InRange(board.GetWorldLocation(), 2) || !from.InLOS(board)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } text = text.Trim(); if (text.Length > 255) text = text.Substring(0, 255); if (text.Length > 0) { BulletinBoardMessage message = new BulletinBoardMessage(DateTime.Now, from, text); if (m_Greeting) { board.Greeting = message; } else { board.Messages.Add(message); if (board.Messages.Count > 50) { board.Messages.RemoveAt(0); if (page > 0) --page; } } } from.SendGump(new BulletinBoardGump(from, board, page)); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Title = reader.ReadString(); if (reader.ReadBool()) m_Greeting = new BulletinBoardMessage(reader); int count = reader.ReadEncodedInt(); m_Messages = new List<BulletinBoardMessage>(count); for (int i = 0; i < count; ++i) m_Messages.Add(new BulletinBoardMessage(reader)); if (m_BannedPlayers != null) m_BannedPlayers = reader.ReadMobileList(); else { m_BannedPlayers = new ArrayList(); m_BannedPlayers = reader.ReadMobileList(); } break; } } }