void InitRenderComponents() { var spriteFactory = interf.RenderView.SpriteFactory; var coloredRectFactory = interf.RenderView.ColoredRectFactory; var type = Data.Resource.Icon; byte iconLayer = 2; byte borderLayer = 1; checkBox = new Icon(interf, 16, 16, type, 288u, iconLayer); AddChild(checkBox, 14 * 8, 128); icon = new Icon(interf, 16, 16, type, 93u, iconLayer); // initialize with save icon AddChild(icon, 64, 72, false); // initially not visible menuIcon = new Icon(interf, 32, 32, type, 230u, iconLayer); AddChild(menuIcon, 56, 72, false); // initially not visible playerFace = new Icon(interf, 32, 64, type, 281u, iconLayer); // initialize with empty face AddChild(playerFace, 56, 48, false); // initially not visible building = new BuildingIcon(interf, 64, 97, 178u, iconLayer); // initialize with castle AddChild(building, 20 * 8, 14, false); // initially not visible for (int i = 0; i < 5; ++i) { textFieldMessage[i] = new TextField(interf, 3); AddChild(textFieldMessage[i], 0, 0, false); } playerFaceBackground = coloredRectFactory.Create(48, 72, Render.Color.Transparent, borderLayer); playerFaceBackground.Layer = Layer; }
public TextInput(Interface interf, int characterGapSize = 9, Render.TextRenderType renderType = Render.TextRenderType.Legacy) : base(interf) { background = interf.RenderView.ColoredRectFactory.Create(0, 0, colorBackground, BaseDisplayLayer); background.Layer = Layer; this.interf = interf; this.characterGapSize = characterGapSize; this.renderType = renderType; }
public int GetDrawIndex(Render.IColoredRect coloredRect, Render.PositionTransformation positionTransformation, Render.SizeTransformation sizeTransformation) { var position = new Position(coloredRect.X, coloredRect.Y); var size = new Size(coloredRect.Width, coloredRect.Height); if (positionTransformation != null) { position = positionTransformation(position); } if (sizeTransformation != null) { size = sizeTransformation(size); } int index = positionBuffer.Add((short)position.X, (short)position.Y); positionBuffer.Add((short)(position.X + size.Width), (short)position.Y, index + 1); positionBuffer.Add((short)(position.X + size.Width), (short)(position.Y + size.Height), index + 2); positionBuffer.Add((short)position.X, (short)(position.Y + size.Height), index + 3); indexBuffer.InsertQuad(index / 4); if (layerBuffer != null) { int layerBufferIndex = layerBuffer.Add(coloredRect.DisplayLayer); if (layerBufferIndex != index) { throw new System.Exception("Invalid index"); } layerBuffer.Add(coloredRect.DisplayLayer, layerBufferIndex + 1); layerBuffer.Add(coloredRect.DisplayLayer, layerBufferIndex + 2); layerBuffer.Add(coloredRect.DisplayLayer, layerBufferIndex + 3); } if (colorBuffer != null) { var color = coloredRect.Color; int colorBufferIndex = colorBuffer.Add(color); if (colorBufferIndex != index) { throw new System.Exception("Invalid index"); } colorBuffer.Add(color, colorBufferIndex + 1); colorBuffer.Add(color, colorBufferIndex + 2); colorBuffer.Add(color, colorBufferIndex + 3); } return(index); }
public SlideBar(Interface interf, byte displayLayerOffset) : base(interf) { this.displayLayerOffset = displayLayerOffset; icon = new Icon(interf, 64, 8, Data.Resource.Icon, 236u, (byte)(displayLayerOffset + 1)); fillRect = interf.RenderView.ColoredRectFactory.Create(0, 4, new Render.Color(0x6b, 0xab, 0x3b), (byte)(displayLayerOffset + 12)); fillRect.Layer = Layer; SetSize(64, 8); AddChild(icon, 0, 0, true); }
public PanelBar(Interface interf) : base(interf) { this.interf = interf; byte layerOffset = 1; messageIcon = new Button(interf, 8, 12, Data.Resource.FrameBottom, 3u, layerOffset); messageIcon.Clicked += MessageIcon_Clicked; AddChild(messageIcon, 40, 4, true); returnIcon = new Button(interf, 8, 10, Data.Resource.FrameBottom, 4u, layerOffset); returnIcon.Clicked += ReturnIcon_Clicked; AddChild(returnIcon, 40, 28, true); panelButtons[0] = new Button(interf, 32, 32, Data.Resource.PanelButton, (uint)ButtonId.BuildInactive, layerOffset); panelButtons[1] = new Button(interf, 32, 32, Data.Resource.PanelButton, (uint)ButtonId.DestroyInactive, layerOffset); panelButtons[2] = new Button(interf, 32, 32, Data.Resource.PanelButton, (uint)ButtonId.Map, layerOffset); panelButtons[3] = new Button(interf, 32, 32, Data.Resource.PanelButton, (uint)ButtonId.Stats, layerOffset); panelButtons[4] = new Button(interf, 32, 32, Data.Resource.PanelButton, (uint)ButtonId.Sett, layerOffset); panelButtons[0].Clicked += PanelBarButton_Clicked; panelButtons[1].Clicked += PanelBarButton_Clicked; panelButtons[2].Clicked += PanelBarButton_Clicked; panelButtons[3].Clicked += PanelBarButton_Clicked; panelButtons[4].Clicked += PanelBarButton_Clicked; panelButtons[0].DoubleClicked += TogglePossibleBuilds; panelButtons[2].DoubleClicked += GotoCastle; panelButtonIds[0] = ButtonId.BuildInactive; panelButtonIds[1] = ButtonId.DestroyInactive; panelButtonIds[2] = ButtonId.Map; panelButtonIds[3] = ButtonId.Stats; panelButtonIds[4] = ButtonId.Sett; for (int i = 0; i < 5; ++i) { AddChild(panelButtons[i], 64 + i * 48, 4, true); } // player color indicator playerColorIndicator = interf.RenderView.ColoredRectFactory.Create(Width + 2, Height + 1, Render.Color.Transparent, 0); playerColorIndicator.Layer = interf.RenderView.GetLayer(Freeserf.Layer.Gui); playerColorIndicator.Visible = true; // background var data = interf.RenderView.DataSource; for (int i = 0; i < 20; ++i) { var spriteInfo = data.GetSpriteInfo(Data.Resource.FrameBottom, (uint)BackgroundLayout[i * 3]); background[i] = CreateSprite(interf.RenderView.SpriteFactory, spriteInfo.Width, spriteInfo.Height, Data.Resource.FrameBottom, (uint)BackgroundLayout[i * 3], BaseDisplayLayer); } // blink timer blinkTimer.Interval = 700; blinkTimer.Elapsed += BlinkTimer_Elapsed; blinkTimer.Start(); }