public QuestConversationsGump(ArrayList conversations) : base(30, 50) { m_Conversations = conversations; AddPage(0); Closable = false; AddImage(349, 10, 9392); AddImageTiled(349, 130, 100, 120, 9395); AddImageTiled(149, 10, 200, 140, 9391); AddImageTiled(149, 250, 200, 140, 9397); AddImage(349, 250, 9398); AddImage(35, 10, 9390); AddImageTiled(35, 150, 120, 100, 9393); AddImage(35, 250, 9396); AddHtmlLocalized(110, 60, 200, 20, 1049069, White, false, false); // <STRONG>Conversation Event</STRONG> AddImage(65, 14, 10102); AddImageTiled(81, 14, 349, 17, 10101); AddImage(426, 14, 10104); AddImageTiled(55, 40, 388, 323, 2624); AddAlphaRegion(55, 40, 388, 323); AddImageTiled(75, 90, 200, 1, 9101); AddImage(75, 58, 9781); AddImage(380, 45, 223); AddButton(220, 335, 2313, 2312, 1, GumpButtonType.Reply, 0); AddImage(0, 0, 10440); if (conversations.Count > 1) { AddPage(1); } for (int i = 0; i < conversations.Count; ++i) { QuestConversation conv = (QuestConversation)conversations[conversations.Count - 1 - i]; if (i > 0) { AddButton(65, 366, 9909, 9911, 0, GumpButtonType.Page, 1 + i); AddHtmlLocalized(90, 367, 50, 20, 1043354, Black, false, false); // Previous AddPage(1 + i); } AddHtmlObject(70, 110, 365, 220, conv.Message, LightGreen, false, true); if (i > 0) { AddButton(420, 366, 9903, 9905, 0, GumpButtonType.Page, i); AddHtmlLocalized(370, 367, 50, 20, 1043353, Black, false, false); // Next } } }
public virtual void AddConversation(QuestConversation conv) { conv.System = this; if (conv.Logged) { m_Conversations.Add(conv); } m_From.CloseGump(typeof(QuestItemInfoGump)); m_From.CloseGump(typeof(QuestObjectivesGump)); m_From.CloseGump(typeof(QuestConversationsGump)); if (conv.Logged) { m_From.SendGump(new QuestConversationsGump(m_Conversations)); } else { m_From.SendGump(new QuestConversationsGump(conv)); } if (conv.Info != null) { m_From.SendGump(new QuestItemInfoGump(conv.Info)); } }
public static QuestConversation DeserializeConversation(Type[] referenceTable, GenericReader reader) { int encoding = reader.ReadEncodedInt(); switch (encoding) { default: case 0x00: // null { return(null); } case 0x01: { Type type = ReadType(referenceTable, reader); QuestConversation conv = Construct(type) as QuestConversation; if (conv != null) { conv.BaseDeserialize(reader); } return(conv); } } }
public override void OnResponse(GameClient sender, RelayInfo info) { for (int i = m_Conversations.Count - 1; i >= 0; --i) { QuestConversation qc = (QuestConversation)m_Conversations[i]; if (!qc.HasBeenRead) { qc.HasBeenRead = true; qc.OnRead(); } } }
public static void Serialize(QuestSystem qs, QuestConversation conv, GenericWriter writer) { if (conv == null) { writer.WriteEncodedInt(0x00); } else { writer.WriteEncodedInt(0x02); writer.WriteObjectType(conv); Persistence.SerializeBlock(writer, conv.BaseSerialize); } }
public static void Serialize(Type[] referenceTable, QuestConversation conv, IGenericWriter writer) { if (conv == null) { writer.WriteEncodedInt(0x00); } else { writer.WriteEncodedInt(0x01); Write(conv.GetType(), referenceTable, writer); conv.BaseSerialize(writer); } }
public virtual void BaseDeserialize(GenericReader reader) { Type[] referenceTable = this.TypeReferenceTable; int version = reader.ReadEncodedInt(); switch (version) { case 0: { int count = reader.ReadEncodedInt(); m_Objectives = new ArrayList(count); for (int i = 0; i < count; ++i) { QuestObjective obj = QuestSerializer.DeserializeObjective(referenceTable, reader); if (obj != null) { obj.System = this; m_Objectives.Add(obj); } } count = reader.ReadEncodedInt(); m_Conversations = new ArrayList(count); for (int i = 0; i < count; ++i) { QuestConversation conv = QuestSerializer.DeserializeConversation(referenceTable, reader); if (conv != null) { conv.System = this; m_Conversations.Add(conv); } } break; } } ChildDeserialize(reader); }
public virtual void ShowQuestConversation() { if (m_Conversations.Count > 0) { m_From.CloseGump(typeof(QuestItemInfoGump)); m_From.CloseGump(typeof(QuestObjectivesGump)); m_From.CloseGump(typeof(QuestConversationsGump)); m_From.SendGump(new QuestConversationsGump(m_Conversations)); QuestConversation last = (QuestConversation)m_Conversations[m_Conversations.Count - 1]; if (last.Info != null) { m_From.SendGump(new QuestItemInfoGump(last.Info)); } } }
public virtual void ShowQuestConversation() { if (Conversations.Count > 0) { From.CloseGump <QuestItemInfoGump>(); From.CloseGump <QuestObjectivesGump>(); From.CloseGump <QuestConversationsGump>(); From.SendGump(new QuestConversationsGump(Conversations)); QuestConversation last = Conversations[Conversations.Count - 1]; if (last.Info != null) { From.SendGump(new QuestItemInfoGump(last.Info)); } } }
public virtual void AddConversation(QuestConversation conv) { conv.System = this; if (conv.Logged) { Conversations.Add(conv); } From.CloseGump <QuestItemInfoGump>(); From.CloseGump <QuestObjectivesGump>(); From.CloseGump <QuestConversationsGump>(); From.SendGump(conv.Logged ? new QuestConversationsGump(Conversations) : new QuestConversationsGump(conv)); if (conv.Info != null) { From.SendGump(new QuestItemInfoGump(conv.Info)); } }
public static QuestConversation DeserializeConversation(QuestSystem qs, GenericReader reader) { int encoding = reader.ReadEncodedInt(); switch (encoding) { default: case 0x00: // null { return(null); } case 0x01: // old format { Type type = ReadType(qs, reader); QuestConversation conv = Construct(type) as QuestConversation; if (conv == null) { QuestConversationStub.Instance.BaseDeserialize(reader); } else { conv.BaseDeserialize(reader); } return(conv); } case 0x02: { Type type = reader.ReadObjectType(); QuestConversation conv = Construct(type) as QuestConversation; Persistence.DeserializeBlock(reader, r => conv?.BaseDeserialize(r)); return(conv); } } }
public QuestConversationsGump(QuestConversation conv) : this(BuildList(conv)) { }
public virtual void AddConversation( QuestConversation conv ) { conv.System = this; if ( conv.Logged ) m_Conversations.Add( conv ); m_From.CloseGump( typeof( QuestItemInfoGump ) ); m_From.CloseGump( typeof( QuestObjectivesGump ) ); m_From.CloseGump( typeof( QuestConversationsGump ) ); if ( conv.Logged ) m_From.SendGump( new QuestConversationsGump( m_Conversations ) ); else m_From.SendGump( new QuestConversationsGump( conv ) ); if ( conv.Info != null ) m_From.SendGump( new QuestItemInfoGump( conv.Info ) ); }
public QuestConversationsGump( QuestConversation conv ) : this(BuildList( conv )) { }
public QuestConversationsGump(QuestConversation conv) : this(new List <QuestConversation> { conv }) { }
public static void Serialize( Type[] referenceTable, QuestConversation conv, GenericWriter writer ) { if ( conv == null ) writer.WriteEncodedInt( 0x00 ); else { writer.WriteEncodedInt( 0x01 ); Write( conv.GetType(), referenceTable, writer ); conv.BaseSerialize( writer ); } }