Server.SecureTrade.Update C# (CSharp) Méthode

Update() public méthode

public Update ( ) : void
Résultat void
		public void Update()
		{
			if ( !m_Valid )
				return;

			if ( m_From.Accepted && m_To.Accepted )
			{
				List<Item> list = m_From.Container.Items;

				bool allowed = true;

				for ( int i = list.Count - 1; allowed && i >= 0; --i )
				{
					if ( i < list.Count )
					{
						Item item = list[i];

						if ( !item.AllowSecureTrade( m_From.Mobile, m_To.Mobile, m_To.Mobile, true ) )
							allowed = false;
					}
				}

				list = m_To.Container.Items;

				for ( int i = list.Count - 1; allowed && i >= 0; --i )
				{
					if ( i < list.Count )
					{
						Item item = list[i];

						if ( !item.AllowSecureTrade( m_To.Mobile, m_From.Mobile, m_From.Mobile, true ) )
							allowed = false;
					}
				}

				if ( !allowed )
				{
					m_From.Accepted = false;
					m_To.Accepted = false;

					m_From.Mobile.Send( new UpdateSecureTrade( m_From.Container, m_From.Accepted, m_To.Accepted ) );
					m_To.Mobile.Send( new UpdateSecureTrade( m_To.Container, m_To.Accepted, m_From.Accepted ) );

					return;
				}

				list = m_From.Container.Items;

				for ( int i = list.Count - 1; i >= 0; --i )
				{
					if ( i < list.Count )
					{
						Item item = list[i];

						item.OnSecureTrade( m_From.Mobile, m_To.Mobile, m_To.Mobile, true );

						if ( !item.Deleted )
							m_To.Mobile.AddToBackpack( item );
					}
				}

				list = m_To.Container.Items;

				for ( int i = list.Count - 1; i >= 0; --i )
				{
					if ( i < list.Count )
					{
						Item item = list[i];

						item.OnSecureTrade( m_To.Mobile, m_From.Mobile, m_From.Mobile, true );

						if ( !item.Deleted )
							m_From.Mobile.AddToBackpack( item );
					}
				}

				Close();
			}
			else
			{
				m_From.Mobile.Send( new UpdateSecureTrade( m_From.Container, m_From.Accepted, m_To.Accepted ) );
				m_To.Mobile.Send( new UpdateSecureTrade( m_To.Container, m_To.Accepted, m_From.Accepted ) );
			}
		}