Server.Gumps.ClientGump.OnResponse C# (CSharp) Méthode

OnResponse() public méthode

public OnResponse ( Server.Network.NetState state, RelayInfo info ) : void
state Server.Network.NetState
info RelayInfo
Résultat void
		public override void OnResponse( NetState state, RelayInfo info )
		{
			if ( m_State == null )
				return;

			Mobile focus = m_State.Mobile;
			Mobile from = state.Mobile;

			if ( focus == null )
			{
				from.SendMessage( "That character is no longer online." );
				return;
			}
			else if ( focus.Deleted )
			{
				from.SendMessage( "That character no longer exists." );
				return;
			}
			else if ( from != focus && focus.Hidden && from.AccessLevel < focus.AccessLevel && ( !( focus is PlayerMobile ) || !((PlayerMobile)focus).VisibilityList.Contains( from ) ) )
			{
				from.SendMessage( "That character is no longer visible." );
				return;
			}

			switch ( info.ButtonID )
			{
				case 1: // Tell
				{
					TextRelay text = info.GetTextEntry( 0 );

					if ( text != null )
					{
						focus.SendMessage( 0x482, "{0} tells you:", from.Name );
						focus.SendMessage( 0x482, text.Text );

						CommandLogging.WriteLine( from, "{0} {1} telling {2} \"{3}\" ", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ), text.Text );
					}

					from.SendGump( new ClientGump( from, m_State ) );

					break;
				}
				case 4: // Props
				{
					Resend( from, info );

					if ( !BaseCommand.IsAccessible( from, focus ) )
						from.SendMessage( "That is not accessible." );
					else
					{
						from.SendGump( new PropertiesGump( from, focus ) );
						CommandLogging.WriteLine( from, "{0} {1} opening properties gump of {2} ", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ) );
					}

					break;
				}
				case 5: // Go to
				{
					if ( focus.Map == null || focus.Map == Map.Internal )
					{
						from.SendMessage( "That character is not in the world." );
					}
					else
					{
						from.MoveToWorld( focus.Location, focus.Map );
						Resend( from, info );

						CommandLogging.WriteLine( from, "{0} {1} going to {2}, Location {3}, Map {4}", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ), focus.Location, focus.Map );
					}

					break;
				}
				case 6: // Get
				{
					if ( from.Map == null || from.Map == Map.Internal )
					{
						from.SendMessage( "You cannot bring that person here." );
					}
					else
					{
						focus.MoveToWorld( from.Location, from.Map );
						Resend( from, info );

						CommandLogging.WriteLine( from, "{0} {1} bringing {2} to Location {3}, Map {4}", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ), from.Location, from.Map );
					}

					break;
				}
				case 7: // Move
				{
					from.Target = new MoveTarget( focus );
					Resend( from, info );

					break;
				}
				case 8: // Kick
				{
					if ( from.AccessLevel >= AccessLevel.GameMaster && from.AccessLevel > focus.AccessLevel )
					{
						focus.Say( "I've been kicked!" );

						m_State.Dispose();

						CommandLogging.WriteLine( from, "{0} {1} kicking {2} ", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ) );
					}

					break;
				}
				case 9: // Kill
				{
					if ( from.AccessLevel >= AccessLevel.GameMaster && from.AccessLevel > focus.AccessLevel )
					{
						focus.Kill();
						CommandLogging.WriteLine( from, "{0} {1} killing {2} ", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ) );
					}

					Resend( from, info );

					break;
				}
				case 10: //Res
				{
					if ( from.AccessLevel >= AccessLevel.GameMaster && from.AccessLevel > focus.AccessLevel )
					{
						focus.PlaySound( 0x214 );
						focus.FixedEffect( 0x376A, 10, 16 );

						focus.Resurrect();

						CommandLogging.WriteLine( from, "{0} {1} resurrecting {2} ", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ) );
					}

					Resend( from, info );

					break;
				}
				case 11: // Skills
				{
					Resend( from, info );

					if ( from.AccessLevel > focus.AccessLevel )
					{
						from.SendGump( new SkillsGump( from, (Mobile)focus ) );
						CommandLogging.WriteLine( from, "{0} {1} Opening Skills gump of {2} ", from.AccessLevel, CommandLogging.Format( from ), CommandLogging.Format( focus ) );
					}

					break;
				}
			}
		}