public override void OnResponse(NetState state, int index) { if (index < 0 || index >= Entries.Length || state.Mobile.Deleted || !state.Mobile.Alive) { m_System.End(); return; } ItemListEntry entry = Entries[index]; if (entry is CraftSubMenu) { m_System.ShowMenu(((CraftSubMenu)entry).SubItems); } else if (entry is CraftSystemItem) { m_System.OnItemSelected((CraftSystemItem)entry); } else if (entry is CraftMenuCallback) { ((CraftMenuCallback)entry).Callback(m_System, state.Mobile); } else { m_System.End(); } }