public override void Init()
 {
     base.Init();
     if( keyNames == null )
         keyNames = Enum.GetNames( typeof( Key ) );
     keyFont = new Font( game.FontName, 16, FontStyle.Bold );
     regularFont = new Font( game.FontName, 16, FontStyle.Italic );
     statusWidget = ChatTextWidget.Create( game, 0, 130, "",
                                          Anchor.Centre, Anchor.Centre, regularFont );
 }
예제 #2
0
 public static TextWidget Create( Game game, int x, int y, string text, Anchor horizontal, Anchor vertical, Font font )
 {
     TextWidget widget = new TextWidget( game, font );
     widget.Init();
     widget.HorizontalAnchor = horizontal;
     widget.VerticalAnchor = vertical;
     widget.XOffset = x;
     widget.YOffset = y;
     widget.SetText( text );
     return widget;
 }
        public override void Init()
        {
            base.Init();

            widgets = new Widget[] {
                // Column 1
                MakeBool( -1, -100, "Simple arms anim", OptionsKey.SimpleArmsAnim,
                         OnWidgetClick, g => g.SimpleArmsAnim, (g, v) => g.SimpleArmsAnim = v ),

                MakeBool( -1, -50, "Classic gui textures", OptionsKey.UseClassicGui,
                         OnWidgetClick, g => g.UseClassicGui, (g, v) => g.UseClassicGui = v ),

                MakeBool( -1, 0, "Classic player list", OptionsKey.UseClassicTabList,
                         OnWidgetClick, g => g.UseClassicTabList, (g, v) => g.UseClassicTabList = v ),

                MakeBool( -1, 50, "Classic options", OptionsKey.UseClassicOptions,
                         OnWidgetClick, g => g.UseClassicOptions, (g, v) => g.UseClassicOptions = v ),

                // Column 2
                MakeBool( 1, -100, "Allow custom blocks", OptionsKey.AllowCustomBlocks,
                         OnWidgetClick, g => g.AllowCustomBlocks, (g, v) => g.AllowCustomBlocks = v ),

                MakeBool( 1, -50, "Use CPE", OptionsKey.UseCPE,
                         OnWidgetClick, g => g.UseCPE, (g, v) => g.UseCPE = v ),

                MakeBool( 1, 0, "Use server textures", OptionsKey.AllowServerTextures,
                         OnWidgetClick, g => g.AllowServerTextures, (g, v) => g.AllowServerTextures = v ),

                MakeBack( false, titleFont,
                     (g, w) => g.SetNewScreen( new PauseScreen( g ) ) ),
                null, null,
            };

            validators = new MenuInputValidator[] {
                new BooleanValidator(),
                new BooleanValidator(),
                new BooleanValidator(),
                new BooleanValidator(),

                new BooleanValidator(),
                new BooleanValidator(),
                new BooleanValidator(),
            };
            infoWidget = ChatTextWidget.Create( game, 0, 100, "&eButtons on the right require a client restart",
                                           Anchor.Centre, Anchor.Centre, regularFont );
        }
예제 #4
0
        public override void Init()
        {
            font = new Font( game.FontName, 14 );
            posFont = new Font( game.FontName, 14, FontStyle.Italic );
            game.Events.ChatFontChanged += ChatFontChanged;

            fpsText = new ChatTextWidget( game, font );
            fpsText.XOffset = 2;
            fpsText.YOffset = 2;
            fpsText.ReducePadding = true;
            fpsText.Init();

            string msg = text.Length > 0 ? text.GetString() :
                "FPS: no data yet";
            fpsText.SetText( msg );
            MakePosTextWidget();

            hackStates = new ChatTextWidget( game, posFont );
            hackStates.XOffset = 2;
            hackStates.YOffset = fpsText.Height + posTex.Height + 2;
            hackStates.ReducePadding = true;
            hackStates.Init();
            UpdateHackState( true );
        }
예제 #5
0
        protected override void WidgetSelected( Widget widget )
        {
            ButtonWidget button = widget as ButtonWidget;
            if( selectedWidget == widget || button == null ||
               button == widgets[widgets.Length - 1] ) return;

            selectedWidget = button;
            if( descWidget != null ) descWidget.Dispose();
            if( button == null ) return;

            string text = descriptions[Array.IndexOf<Widget>(widgets, button)];
            descWidget = ChatTextWidget.Create( game, 0, 100, text, Anchor.Centre, Anchor.Centre, regularFont );
        }
 void MakeDescWidget( string text )
 {
     DisposeDescWidget();
     descWidget = ChatTextWidget.Create( game, 0, 90, text,
                                        Anchor.Centre, Anchor.Centre, regularFont );
 }
 void DisposeDescWidget()
 {
     if( descWidget != null ) {
         descWidget.Dispose();
         descWidget = null;
     }
 }
예제 #8
0
        public override void Init()
        {
            textFont = new Font( game.FontName, 16, FontStyle.Bold );
            arrowFont = new Font( game.FontName, 18, FontStyle.Bold );
            titleFont = new Font( game.FontName, 16, FontStyle.Bold );
            title = ChatTextWidget.Create( game, 0, -130, titleText,
                                      Anchor.Centre, Anchor.Centre, titleFont );

            buttons = new ButtonWidget[] {
                MakeText( 0, -80, Get( 0 ) ),
                MakeText( 0, -40, Get( 1 ) ),
                MakeText( 0, 0, Get( 2 ) ),
                MakeText( 0, 40, Get( 3 ) ),
                MakeText( 0, 80, Get( 4 ) ),

                Make( -160, 0, "<", (g, w) => PageClick( false ) ),
                Make( 160, 0, ">", (g, w) => PageClick( true ) ),
                null,
            };
        }
        void CreateEditingWidgets()
        {
            DisposeEditingWidgets();

            widgets[8] = Make( -140, 45, "Key: " + curHotkey.BaseKey,
                              250, 35, textFont, BaseKeyClick );
            widgets[9] = Make( 140, 45, "Modifiers: " + MakeFlagsString( curHotkey.Flags ),
                              250, 35, textFont, ModifiersClick );
            widgets[10] = Make( -10, 110, curHotkey.MoreInput ? "yes" : "no",
                               50, 25, textFont, LeaveOpenClick );
            widgets[11] = Make( -120, 150, "Save changes",
                               180, 35, textFont, SaveChangesClick );
            widgets[12] = Make( 120, 150, "Remove hotkey",
                               180, 35, textFont, RemoveHotkeyClick );

            currentAction = MenuInputWidget.Create(
                game, 0, 80, 600, 30, "", Anchor.Centre, Anchor.Centre,
                regularFont, titleFont, new StringValidator( 64 ) );
            currentMoreInputLabel = ChatTextWidget.Create(
                game, -150, 110, "Keep input bar open:",
                Anchor.Centre, Anchor.Centre, titleFont );

            if( curHotkey.Text == null ) curHotkey.Text = "";
            currentAction.SetText( curHotkey.Text );
        }
예제 #10
0
        public override void Init()
        {
            textFont = new Font( game.FontName, 16, FontStyle.Bold );
            arrowFont = new Font( game.FontName, 18, FontStyle.Bold );
            titleFont = new Font( game.FontName, 16, FontStyle.Bold );
            title = ChatTextWidget.Create( game, 0, -155, titleText,
                                      Anchor.Centre, Anchor.Centre, titleFont );

            buttons = new ButtonWidget[] {
                MakeText( 0, -100, Get( 0 ) ),
                MakeText( 0, -50, Get( 1 ) ),
                MakeText( 0, 0, Get( 2 ) ),
                MakeText( 0, 50, Get( 3 ) ),
                MakeText( 0, 100, Get( 4 ) ),

                Make( -220, 0, "<", (g, w) => PageClick( false ) ),
                Make( 220, 0, ">", (g, w) => PageClick( true ) ),
                MakeBack( false, titleFont,
                         (g, w) => g.SetNewScreen( new PauseScreen( g ) ) ),
            };
            UpdateArrows();
        }