示例#1
0
        private ObjHudPanel CreateHudPanel(Size tempSize, Color aColor, ObjHudPanel.Anchors anAnchor)
        {
//            Vector2 tempLoc2 = new Vector2(0, 0);
//
//            SolidBrush tempBrush = new SolidBrush(aColor);
//            Bitmap tempBmp = BitmapHelper.CreatBitamp(new Size(20, 20), tempBrush);
//            ObjMaterial tempMaterial = new ObjMaterial(hudProgram) {DiffuseMap = new Texture(tempBmp)};
            ObjMaterial tempMaterial = TheResourceManager.GetPlainColor(hudProgram, "HudPanelPlain" + aColor.Name,
                                                                        aColor);
            Vector2 tempLoc2 = new Vector2(0, 0);

            ObjHudPanel tempObjObject2 =
                new ObjHudPanel(ObjectPrimitives.CreateSquareWithNormalsYorZ(new Vector3(0, 0, 0),
                                                                             new Vector3(tempSize.Width,
                                                                                         tempSize.Height,
                                                                                         0), true))
            {
                Anchor   = anAnchor,
                Position =
                    tempLoc2,
                Size = tempSize
            };

            tempObjObject2.Size = tempSize;
            tempObjObject2.UpdatePosition(Width, Height);
            tempObjObject2.Material = tempMaterial;
            return(tempObjObject2);
        }
示例#2
0
        private ObjHudPanel CreateHudPanel(string aBmpPath, ObjHudPanel.Anchors anAnchor)
        {
            ObjMaterial tempMaterial = TheResourceManager.GetFromFile(hudProgram, aBmpPath);
            Size        tempSize     = tempMaterial.DiffuseMap.Size;

            Vector2 tempLoc2 = new Vector2(0, 0);

            ObjHudPanel tempObjObject2 =
                new ObjHudPanel(ObjectPrimitives.CreateSquareWithNormalsYorZ(new Vector3(0, 0, 0),
                                                                             new Vector3(tempSize.Width,
                                                                                         tempSize.Height,
                                                                                         0), true))
            {
                Anchor   = anAnchor,
                Position =
                    tempLoc2,
                Size = tempSize
            };

            tempObjObject2.Size = tempSize;
            tempObjObject2.UpdatePosition(Width, Height);
            tempObjObject2.Material = tempMaterial;
            return(tempObjObject2);
        }
示例#3
0
        public override void OnLoad()
        {
            GameCore.TheGameCore.TheGameEventHandler += TheGameCore_TheGameEventHandler;

            hudProgram = new ShaderProgram(VertexShader, FragmentShader);
//            hudProgram = new ShaderProgram(vertexShader2Source, fragmentShader2Source);

            hudProgram.Use();
            projectionMatrix = Matrix4.CreateOrthographic(Width, Height, 0, 10);
            hudProgram["projection_matrix"].SetValue(projectionMatrix);
            hudProgram["model_matrix"].SetValue(Matrix4.Identity);


            Dictionary <Tile.TileIds, PlainBmpTexture> tempTiletypeList =
                RenderObjects.RenderObjects.CreateTileTextures(new Size(20, 20), hudProgram);

            ObjHudPanel hudPanel = CreateHudPanel("HudPanelCreative.png",
                                                  ObjHudPanel.Anchors.TopRight);

            theHudPanels.Add(hudPanel);


            Size tempButtonSize = new Size(60, 60);

            Tile.TileIds tempTileKey      = tempTiletypeList.Keys.First();
            Vector2      tempMainButton   = new Vector2(70, 100);
            ObjHudButton tempObjHudButton =
                new ObjHudButton(ObjectPrimitives.CreateSquareWithNormalsYorZ(new Vector3(0, 0, 0),
                                                                              new Vector3(
                                                                                  tempButtonSize.Width,
                                                                                  tempButtonSize.Height, 0),
                                                                              true))
            {
                Anchor   = ObjHudButton.Anchors.TopRight,
                Position = tempMainButton,
                Size     = tempButtonSize
            };

            tempObjHudButton.Size = tempButtonSize;
            tempObjHudButton.UpdatePosition(Width, Height);
            tempObjHudButton.Material = tempTiletypeList[tempTileKey].Material;
            tempObjHudButton.Name    += ":" + tempTileKey;
            hudPanel.AddButton(tempObjHudButton);
            selectedObjHudButton = tempObjHudButton;


            int     counter     = 0;
            int     cellsPerRow = 2;
            Vector2 startLoc    = new Vector2(120, 200);
            int     rowOffset   = 100;

            foreach (KeyValuePair <Tile.TileIds, PlainBmpTexture> tempTile in tempTiletypeList)
            {
                int     row     = counter % cellsPerRow;
                int     col     = counter / cellsPerRow;
                Vector2 tempLoc = startLoc + new Vector2(-row * rowOffset, col * rowOffset);

                tempObjHudButton = new ObjHudButton(ObjectPrimitives.CreateSquareWithNormalsYorZ(new Vector3(0, 0, 0),
                                                                                                 new Vector3(
                                                                                                     tempButtonSize.Width,
                                                                                                     tempButtonSize.Height, 0),
                                                                                                 true))
                {
                    Anchor   = ObjHudButton.Anchors.TopRight,
                    Position = tempLoc,
                    Size     = tempButtonSize
                };
                tempObjHudButton.Size = tempButtonSize;
                tempObjHudButton.UpdatePosition(Width, Height);
                tempObjHudButton.Material = tempTiletypeList[tempTile.Key].Material;
                tempObjHudButton.Name    += ":" + tempTile.Key;
                tempObjHudButton.Tag      = tempTile.Key.ToString();
                hudPanel.AddButton(tempObjHudButton);

                counter++;
            }
        }