Пример #1
0
        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;
        }
Пример #2
0
 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;
 }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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();
        }