Example #1
0
        public OptionsMenu(Resource.ResourceManager globalContent)
        {
            _upperButtons   = new Button[7];
            _optionsButtons = new Button[4];
            _content        = globalContent;

            // we need to load all the positioning data and whatnot from a file...
            Resource.TextResource layout = new Gk3Main.Resource.TextResource("RC_LAYOUT.TXT", FileSystem.Open("RC_LAYOUT.TXT"));
            string[] lines = layout.Text.Split('\n');

            Dictionary <string, string> layoutInfo = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);

            foreach (string line in lines)
            {
                if (line.StartsWith(";") == false)
                {
                    int equal = line.IndexOf('=');
                    if (equal > 0)
                    {
                        layoutInfo.Add(line.Substring(0, equal).Trim(), line.Substring(equal + 1).Trim());
                    }
                }
            }

            _upperBackground    = globalContent.Load <Graphics.TextureResource>(layoutInfo["backSprite"]);
            _optionsBackground  = globalContent.Load <Graphics.TextureResource>(layoutInfo["optBackSprite"]);
            _advancedBackground = globalContent.Load <Graphics.TextureResource>(layoutInfo["advOptBackSprite"]);
            _graphicsBackground = globalContent.Load <Graphics.TextureResource>(layoutInfo["graphicsOptBackSprite"]);

            setupUpperButtons(globalContent, layoutInfo);
            setupOptionsButtons(globalContent, layoutInfo);
            setupAdvancedOptionsButtons(globalContent, layoutInfo);
            setupGraphicsOptionsButtons(globalContent, layoutInfo);
        }
Example #2
0
        public static void Load()
        {
            var global = Gk3Main.Resource.ResourceManager.Global;

            _camera = global.Load <Graphics.TextureResource>("Icons/camera.png");
            _flag   = global.Load <Graphics.TextureResource>("Icons/flag.png");
            _bulb   = global.Load <Graphics.TextureResource>("Icons/bulb.png");
        }
Example #3
0
        public MsgBox(Resource.ResourceManager globalContent, string text, MsgBoxType type)
        {
            _type     = type;
            _isActive = true;

            // we need to load all the positioning data and whatnot from a file...
            Resource.TextResource layout = new Gk3Main.Resource.TextResource("MSGBOX.TXT", FileSystem.Open("MSGBOX.TXT"));
            string[] lines = layout.Text.Split('\n');

            Dictionary <string, string> layoutInfo = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);

            foreach (string line in lines)
            {
                if (line.StartsWith(";") == false)
                {
                    int equal = line.IndexOf('=');
                    if (equal > 0)
                    {
                        layoutInfo.Add(line.Substring(0, equal).Trim(), line.Substring(equal + 1).Trim());
                    }
                }
            }

            _font = Font.Load(globalContent.Load <FontSpec>(layoutInfo["Font"]));

            _yes          = new Button(this, globalContent, layoutInfo["yesSpriteDown"], layoutInfo["yesSpriteHov"], layoutInfo["yesSpriteUp"], null, null);
            _no           = new Button(this, globalContent, layoutInfo["noSpriteDown"], layoutInfo["noSpriteHov"], layoutInfo["noSpriteUp"], null, null);
            _ok           = new Button(this, globalContent, layoutInfo["okSpriteDown"], layoutInfo["okSpriteHov"], layoutInfo["okSpriteUp"], null, null);
            _yes.OnClick += new EventHandler(onButtonClicked);
            _no.OnClick  += new EventHandler(onButtonClicked);
            _ok.OnClick  += new EventHandler(onButtonClicked);


            _bg    = globalContent.Load <Graphics.TextureResource>("black");
            _vert  = globalContent.Load <Graphics.TextureResource>(layoutInfo["vertSprite"]);
            _horiz = globalContent.Load <Graphics.TextureResource>(layoutInfo["horizSprite"]);
            _ur    = globalContent.Load <Graphics.TextureResource>(layoutInfo["urCornerSprite"]);
            _ul    = globalContent.Load <Graphics.TextureResource>(layoutInfo["ulCornerSprite"]);
            _lr    = globalContent.Load <Graphics.TextureResource>(layoutInfo["lrCornerSprite"]);
            _ll    = globalContent.Load <Graphics.TextureResource>(layoutInfo["llCornerSprite"]);

            tryParse2f(layoutInfo["minSize"], out _rect.Width, out _rect.Height);
            tryParse2f(layoutInfo["textOffset"], out _textOffsetX, out _textOffsetY);

            _rect = centerBox(Graphics.RendererManager.CurrentRenderer.Viewport, calculateBoxSize(text, _rect));

            if (_type == MsgBoxType.YesNo)
            {
                positionButtons(true, true, false);
            }
            else
            {
                positionButtons(false, false, true);
            }
        }
Example #4
0
        public void SetMouth(string mouth)
        {
            if (_isEmptyFace)
            {
                throw new InvalidOperationException("This is an empty face");
            }

            const int indexOfNumber = 5;

            int mouthNum;

            Utils.TryParseInt(mouth, indexOfNumber, 2, out mouthNum);

            _currentMouth = _mouths[mouthNum];

            _faceIsDirty = true;
        }
Example #5
0
        public Dropdown(IButtonContainer container, Resource.ResourceManager globalContent, int width,
                        string arrowDownSprite, string arrowHoverSprite, string arrowUpSprite)
        {
            _container          = container;
            _downArrow          = new Button(this, globalContent, arrowDownSprite, arrowHoverSprite, arrowUpSprite, null, null);
            _font               = Gk3Main.Gui.Font.Load(globalContent.Load <FontSpec>("F_ARIAL_T8"));
            _top                = globalContent.Load <Graphics.TextureResource>("RC_BOX_TOP");
            _side               = globalContent.Load <Graphics.TextureResource>("RC_BOX_SIDE");
            _blCorner           = globalContent.Load <Graphics.TextureResource>("RC_BOX_CORNER_BL");
            _brCorner           = globalContent.Load <Graphics.TextureResource>("RC_BOX_CORNER_BR");
            _tlCorner           = globalContent.Load <Graphics.TextureResource>("RC_BOX_CORNER_TL");
            _trCorner           = globalContent.Load <Graphics.TextureResource>("RC_BOX_CORNER_TR");
            _dropdownBackground = globalContent.Load <Graphics.TextureResource>("OPTSC");

            _downArrow.OnClick += new EventHandler(_downArrow_OnClick);

            _width = width;
        }
Example #6
0
        public void Render(Graphics.SpriteBatch sb, int tickCount)
        {
            if (_enabled)
            {
                if (_mouseDown)
                {
                    sb.Draw(_downImage, new Math.Vector2(_screenX, _screenY));
                }
                else if (IsMouseOverButton(_mouseX, _mouseY))
                {
                    sb.Draw(_hoverImage, new Math.Vector2(_screenX, _screenY));
                }
                else
                {
                    sb.Draw(_upImage, new Math.Vector2(_screenX, _screenY));
                }

                if (_tooltipVisible == false && tickCount > _timeAtLastMouseMove + 500 && IsMouseOverButton(_mouseX, _mouseY))
                {
                    _tooltipVisible = true;
                }
            }
            else
            {
                sb.Draw(_disabledImage, new Math.Vector2(_screenX, _screenY));
            }

            if (_tooltipVisible)
            {
                var           size = Gui.Font.MeasureString(_tooltipFont, _tooltip);
                Graphics.Rect tooltipRect;
                tooltipRect.X      = _mouseX - 2;
                tooltipRect.Y      = _mouseY + 32;
                tooltipRect.Width  = size.X + 4;
                tooltipRect.Height = size.Y;

                Graphics.TextureResource defaultWhite = Graphics.RendererManager.CurrentRenderer.DefaultTexture;
                sb.Draw(defaultWhite, tooltipRect, null, 0);

                Gui.Font.Print(sb, _tooltipFont, _mouseX, _mouseY + 32, _tooltip);
            }
        }
Example #7
0
        public static void GenerateOmniLight(int radius, Math.Vector3 color, out Graphics.TextureResource memoryTex, out Graphics.TextureResource alphaMask)
        {
            memoryTex = GenerateMemoryTexture(radius * 2, radius * 2, color.X, color.Y, color.Z);

            Graphics.BitmapSurface alphaSurface = new Graphics.BitmapSurface(radius * 2, radius * 2, null);
            for (int y = 0; y < radius * 2; y++)
            {
                for (int x = 0; x < radius * 2; x++)
                {
                    if ((x - radius) * (x - radius) + (y - radius) * (y - radius) > radius * radius)
                    {
                        alphaSurface.Pixels[(y * radius * 2 + x) * 4 + 3] = 0;
                    }
                    else
                    {
                        alphaSurface.Pixels[(y * radius * 2 + x) * 4 + 3] = 255;
                    }
                }
            }
            alphaMask = Graphics.RendererManager.CurrentRenderer.CreateTexture("alphaMask", alphaSurface, false, false);
        }
Example #8
0
        public ActorFace(Resource.ResourceManager content, string actorCode)
        {
            _actorCode      = actorCode;
            _faceDefinition = FaceDefinitions.GetFaceDefinition(actorCode);

            if (_faceDefinition == null)
            {
                // some actors don't have faces (like the chicken)
                _isEmptyFace = true;
                return;
            }

            _baseFace = content.Load <Graphics.TextureResource>(_faceDefinition.FaceName + ".BMP");

            _mouths    = new Graphics.TextureResource[8];
            _mouths[0] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH00.BMP");
            _mouths[1] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH01.BMP");
            _mouths[2] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH02.BMP");
            _mouths[3] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH03.BMP");
            _mouths[4] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH04.BMP");
            _mouths[5] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH05.BMP");
            _mouths[6] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH06.BMP");
            _mouths[7] = content.Load <Graphics.TextureResource>(actorCode + "_MOUTH07.BMP");

            _smiles    = new Graphics.TextureResource[2];
            _smiles[0] = content.Load <Graphics.TextureResource>(actorCode + "_SMILE_01.BMP");
            _smiles[1] = content.Load <Graphics.TextureResource>(actorCode + "_SMILE_02.BMP");

            if (Graphics.RendererManager.CurrentRenderer.RenderToTextureSupported)
            {
                _renderTarget  = Graphics.RendererManager.CurrentRenderer.CreateRenderTarget(_baseFace.Width, _baseFace.Height);
                _generatedFace = _renderTarget.Texture;
            }
            else
            {
                _generatedFace = Graphics.RendererManager.CurrentRenderer.CreateUpdatableTexture(actorCode + "_FACE", _baseFace.Width, _baseFace.Height);
            }

            updateTexture(false);
        }