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

OnResponse() public méthode

public OnResponse ( Server.Network.NetState sender, RelayInfo info ) : void
sender Server.Network.NetState
info RelayInfo
Résultat void
		public override void OnResponse( NetState sender, RelayInfo info )
		{
			int buttonID = info.ButtonID - 1;

			int index = buttonID / 3;
			int type = buttonID % 3;

			switch ( type )
			{
				case 0:
				{
					if ( index >= 0 && index < m_Groups.Length )
					{
						SkillsGumpGroup newSelection = m_Groups[index];

						if ( m_Selected != newSelection )
							m_From.SendGump( new SkillsGump( m_From, m_Target, newSelection ) );
						else
							m_From.SendGump( new SkillsGump( m_From, m_Target, null ) );
					}

					break;
				}
				case 1:
				{
					if ( m_Selected != null && index >= 0 && index < m_Selected.Skills.Length )
					{
						Skill sk = m_Target.Skills[m_Selected.Skills[index]];

						if ( sk != null )
						{
							if ( m_From.AccessLevel >= AccessLevel.GameMaster )
							{
								m_From.SendGump( new EditSkillGump( m_From, m_Target, sk, m_Selected ) );
							}
							else
							{
								m_From.SendMessage( "You may not change that." );
								m_From.SendGump( new SkillsGump( m_From, m_Target, m_Selected ) );
							}
						}
						else
						{
							m_From.SendGump( new SkillsGump( m_From, m_Target, m_Selected ) );
						}
					}

					break;
				}
				case 2:
				{
					if ( m_Selected != null && index >= 0 && index < m_Selected.Skills.Length )
					{
						Skill sk = m_Target.Skills[m_Selected.Skills[index]];

						if ( sk != null )
						{
							if ( m_From.AccessLevel >= AccessLevel.GameMaster )
							{
								switch ( sk.Lock )
								{
									case SkillLock.Up: sk.SetLockNoRelay( SkillLock.Down ); sk.Update(); break;
									case SkillLock.Down: sk.SetLockNoRelay( SkillLock.Locked ); sk.Update(); break;
									case SkillLock.Locked: sk.SetLockNoRelay( SkillLock.Up ); sk.Update(); break;
								}
							}
							else
							{
								m_From.SendMessage( "You may not change that." );
							}

							m_From.SendGump( new SkillsGump( m_From, m_Target, m_Selected ) );
						}
					}

					break;
				}
			}
		}