Ejemplo n.º 1
0
        public virtual void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {
            Rectangle mainFrame = new Rectangle(0, 0, CyberFuck.graphics.GraphicsDevice.Viewport.Width, CyberFuck.graphics.GraphicsDevice.Viewport.Height);

            spriteBatch.Begin();
            spriteBatch.Draw(CyberFuck.GetTexture("menu-background"), mainFrame, Color.White);
            spriteBatch.End();
            spriteBatch.Begin();
            int count = 0;

            //while(offset + 70 * (choice % texts.Count - 1 - start) > CyberFuck.graphics.GraphicsDevice.Viewport.Height - 80)
            while (choice % texts.Count - start > 3 || offset + 70 * (choice % texts.Count - 1 - start) > CyberFuck.graphics.GraphicsDevice.Viewport.Height - 80)
            {
                start++;
            }
            if (choice % texts.Count < start)
            {
                start = choice % texts.Count;
            }
            for (int i = start; i < texts.Count; i++)
            {
                var     value    = texts[i];
                string  text     = value;
                Vector2 position = new Vector2(CenterX(text), offset + count * 70);
                spriteBatch.DrawString(CyberFuck.font, text, position, i == choice % texts.Count ? Color.Red : Color.Black, 0, Vector2.Zero, 2, SpriteEffects.None, 0f);
                count++;
            }
            spriteBatch.End();
        }
Ejemplo n.º 2
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (Input.KeyWentDown(Keys.Escape))
            {
                Close(() => {
                    CyberFuck.instance.Exit();
                });
            }
            if (Input.KeyWentDown(Keys.Enter))
            {
                switch ((State)(choice % texts.Count))
                {
                case State.Host:
                    CyberFuck.Screen = new ChooseWorldScreen((string w) =>
                    {
                        CyberFuck.Screen = new EnterNameScreen((n) =>
                        {
                            CyberFuck.Host(w, n);
                        });
                    });
                    break;

                case State.Join:
                    CyberFuck.Screen = new EnterNameScreen((n) =>
                    {
                        CyberFuck.Screen = new JoinScreen(n);
                    });
                    break;

                case State.Single:
                    CyberFuck.Screen = new ChooseWorldScreen((w) =>
                    {
                        CyberFuck.Screen = new EnterNameScreen((n) =>
                        {
                            CyberFuck.Start(w, n);
                        });
                    });
                    break;

                case State.Quit:
                    CyberFuck.instance.Exit();
                    break;

                default:
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
            if (Input.KeyWentDown(Keys.Escape))
            {
                Close(() => {
                    CyberFuck.Screen = new MainScreen();
                });
            }
            switch ((State)(choice % texts.Count))
            {
            case State.IP:
                ip = Input.InputString(ip);
                ReloadTexts();
                break;

            case State.Port:
                port = Input.InputString(port);
                ReloadTexts();
                break;

            case State.Join:
                break;

            default:
                break;
            }
            if (Input.KeyWentDown(Keys.Enter))
            {
                switch ((State)(choice % texts.Count))
                {
                case State.IP:
                    choice++;
                    break;

                case State.Port:
                    choice++;
                    break;

                case State.Join:
                    int portNum;
                    if (int.TryParse(port, out portNum))
                    {
                        try
                        {
                            CyberFuck.Join(ip, portNum, name);
                        }
                        catch (System.Net.Sockets.SocketException)
                        {
                            error = true;
                        }
                    }
                    else
                    {
                        port = "";
                    }
                    break;

                default:
                    break;
                }
            }
        }