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); }
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"); }
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); } }
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; }
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; }
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); } }
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); }
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); }