Server.Gumps.CharacterStatueGump.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_Statue == null || m_Statue.Deleted || m_Maker == null || m_Maker.Deleted || !m_Maker.IsChildOf( state.Mobile.Backpack ) )
                return;

            bool sendGump = false;

            if ( info.ButtonID == (int) Buttons.Sculpt )
            {
                if ( m_Maker is CharacterStatueDeed )
                {
                    CharacterStatue backup = ( (CharacterStatueDeed) m_Maker ).Statue;

                    if ( backup != null )
                        backup.Delete();
                }

                if ( m_Maker != null )
                    m_Maker.Delete();

                m_Statue.Sculpt( state.Mobile );
            }
            else if ( info.ButtonID == (int) Buttons.PosePrev )
            {
                m_Statue.Pose = (StatuePose) ( ( (int) m_Statue.Pose + 5 ) % 6 );
                sendGump = true;
            }
            else if ( info.ButtonID == (int) Buttons.PoseNext )
            {
                m_Statue.Pose = (StatuePose) ( ( (int) m_Statue.Pose + 1 ) % 6 );
                sendGump = true;
            }
            else if ( info.ButtonID == (int) Buttons.DirPrev )
            {
                m_Statue.Direction = (Direction) ( ( (int) m_Statue.Direction + 7 ) % 8 );
                m_Statue.InvalidatePose();
                sendGump = true;
            }
            else if ( info.ButtonID == (int) Buttons.DirNext )
            {
                m_Statue.Direction = (Direction) ( ( (int) m_Statue.Direction + 1 ) % 8 );
                m_Statue.InvalidatePose();
                sendGump = true;
            }
            else if ( info.ButtonID == (int) Buttons.MatPrev )
            {
                m_Statue.Material = (StatueMaterial) ( ( (int) m_Statue.Material + 3 ) % 4 );
                sendGump = true;
            }
            else if ( info.ButtonID == (int) Buttons.MatNext )
            {
                m_Statue.Material = (StatueMaterial) ( ( (int) m_Statue.Material + 1 ) % 4 );
                sendGump = true;
            }
            else if ( info.ButtonID == (int) Buttons.Restore )
            {
                if ( m_Maker is CharacterStatueDeed )
                {
                    CharacterStatue backup = ( (CharacterStatueDeed) m_Maker ).Statue;

                    if ( backup != null )
                        m_Statue.Restore( backup );
                }

                sendGump = true;
            }
            else
            {
                m_Statue.Delete();
            }

            if ( sendGump )
                state.Mobile.SendGump( new CharacterStatueGump( m_Maker, m_Statue, m_Owner ) );

            if ( m_Timer != null )
                m_Timer.Stop();
        }