servuo/Server/Menus/QuestionMenu.cs
2020-08-21 08:56:15 -04:00

47 lines
No EOL
897 B
C#

#region References
using Server.Network;
#endregion
namespace Server.Menus.Questions
{
public class QuestionMenu : IMenu
{
private readonly string[] m_Answers;
private readonly int m_Serial;
private static int m_NextSerial;
int IMenu.Serial => m_Serial;
int IMenu.EntryLength => m_Answers.Length;
public string Question { get; set; }
public string[] Answers => m_Answers;
public QuestionMenu(string question, string[] answers)
{
Question = question;
m_Answers = answers;
do
{
m_Serial = ++m_NextSerial;
m_Serial &= 0x7FFFFFFF;
}
while (m_Serial == 0);
}
public virtual void OnCancel(NetState state)
{ }
public virtual void OnResponse(NetState state, int index)
{ }
public void SendTo(NetState state)
{
state.AddMenu(this);
state.Send(new DisplayQuestionMenu(this));
}
}
}