Exemplo n.º 1
0
        //Constructors
        public Score(string key, IntPtr render) : base()
        {
            color = new SDL_Color
            {
                r = 255,
                g = 255,
                b = 255,
                a = 0
            };

            SpriteEntity  scoreSprite;
            TextureStruct textTexture = TextGenerator.GenerateTexture(render, TextGenerator.lazyFont, "void", color);

            if (!SpriteEntity.TextureExists(key))
            {
                scoreSprite = new SpriteEntity("scorePlayer1", textTexture);
            }
            else
            {
                // If it already exists, simply use existing one
                scoreSprite = AllSprites["scorePlayer1"];
            }

            name = key;

            AddSprite(key, scoreSprite);
            ResetPoint(render);
        }
Exemplo n.º 2
0
        protected override void UpdateTextureMovement(Move direction)
        {
            switch (direction)
            {
            case PuzzleGame.Move.UP:
                texture = new TextureStruct(554, 158, 50, 42);
                break;

            case PuzzleGame.Move.RIGHT:
                texture = new TextureStruct(512, 108, 50, 42);
                break;

            case PuzzleGame.Move.DOWN:
                texture = new TextureStruct(554, 208, 50, 42);
                break;

            case PuzzleGame.Move.LEFT:
                texture = new TextureStruct(543, 440, 50, 42);
                break;

            default:
                texture = new TextureStruct(554, 208, 50, 42);
                break;
            }
        }
Exemplo n.º 3
0
        public static List <Pair <Rect, Texture2D> > CreateBordersUsingSettings()
        {
            var textureStruct = new TextureStruct(Settings.StartAlpha, Settings.EndAlpha, Settings.Color_R, Settings.Color_G,
                                                  Settings.Color_B);
            var bordersUsingSettings = CreateBorders(Settings.BorderSize,
                                                     textureStruct);

            return(bordersUsingSettings);
        }
Exemplo n.º 4
0
        private void UpdateTexture(IntPtr render)
        {
            string        pointsSTR   = "" + points;
            TextureStruct textTexture = TextGenerator.GenerateTexture(render, TextGenerator.lazyFont, pointsSTR, color);

            AllSprites[name].ReplaceTexture(textTexture);

            AllSprites[name].Pos.x = GameConstants.SCORE_OFFSET;
            AllSprites[name].Pos.y = GameConstants.WINDOWS_Y - GameConstants.SCORE_OFFSET;
        }
Exemplo n.º 5
0
        private static Texture2D GradientTexture(TextureStruct textureProto, GradientType type)
        {
            if (!UnityData.IsInMainThread)
            {
                Log.Error("Tried to create a texture from a different thread.");
                return(null);
            }

            var from = textureProto.ColorFrom();
            var to   = textureProto.ColorTo();

            Texture2D texture2D;

            switch (type)
            {
            case GradientType.Left:
                texture2D = LeftGradient(ref from, ref to);
                break;

            case GradientType.TopLeft:
                texture2D = TopLeftGradient(ref from, ref to);
                break;

            case GradientType.BottomLeft:
                texture2D = BottomLeftGradient(ref from, ref to);
                break;

            case GradientType.Right:
                texture2D = RightGradient(ref from, ref to);
                break;

            case GradientType.TopRight:
                texture2D = TopRightGradient(ref from, ref to);
                break;

            case GradientType.BottomRight:
                texture2D = BottomRightGradient(ref from, ref to);
                break;

            case GradientType.Top:
                texture2D = TopGradient(ref from, ref to);
                break;

            case GradientType.Bottom:
                texture2D = BottomGradient(ref from, ref to);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }

            texture2D.filterMode = FilterMode.Bilinear;
            texture2D.Apply();
            return(texture2D);
        }
        private void DisplayTextureFromFile(string path)
        {
            TextureStruct Textures = new TextureStruct();

            Textures.CoordX_YText = new double[4, 3] {
                { 8, 0, 8 }, { 0, 0, 8 }, { 0, 0, 0 }, { 8, 0, 0 }
            };
            Textures.X_YText = new double[4, 2] {
                { 0, 0 }, { 1, 0 }, { 1, 1 }, { 0, 1 }
            };
            Bitmap     BmpImage = new Bitmap(new Bitmap(path), 512, 512);
            Rectangle  rect     = new Rectangle(0, 0, BmpImage.Width, BmpImage.Height);
            BitmapData BmpData  = BmpImage.LockBits(rect, ImageLockMode.ReadOnly, BmpImage.PixelFormat);

            gl.TexImage2D(
                OpenGL.GL_TEXTURE_2D,
                0,
                (int)OpenGL.GL_RGBA,
                BmpImage.Width,
                BmpImage.Height,
                0,
                OpenGL.GL_BGRA,
                OpenGL.GL_UNSIGNED_BYTE,
                BmpData.Scan0
                );
            BmpImage.UnlockBits(BmpData);
            gl.BindTexture(OpenGL.GL_TEXTURE_2D, Textures.TextureValue);
            gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR);
            gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR);
            gl.Enable(OpenGL.GL_TEXTURE_2D);
            gl.Begin(OpenGL.GL_QUADS);
            for (int i = 0; i < 4; i++)
            {
                gl.TexCoord(Textures.X_YText[i, 0], Textures.X_YText[i, 1]);
                gl.Vertex(Textures.CoordX_YText[i, 0], Textures.CoordX_YText[i, 1], Textures.CoordX_YText[i, 2]);
            }
            gl.End();
            gl.Disable(OpenGL.GL_TEXTURE_2D);
        }
Exemplo n.º 7
0
 public BaseBlock(string spriteName, TextureStruct texture, string name)
     : base(spriteName, texture, ObjectType.Block, name)
 {
 }
Exemplo n.º 8
0
 public MoveableBlock(string spriteName, TextureStruct texture, string name)
     : base(spriteName, texture, name)
 {
 }
Exemplo n.º 9
0
 public BaseEnvironment(string spriteName, TextureStruct texture, string name)
     : base(spriteName, texture, ObjectType.Environment, name)
 {
 }
Exemplo n.º 10
0
        private static List <Pair <Rect, Texture2D> > CreateBorders(float borderSize, TextureStruct textureStruct)
        {
            var topLeftGradient  = GradientTexture(textureStruct, GradientType.TopLeft);
            var leftGradient     = GradientTexture(textureStruct, GradientType.Left);
            var topRightGradient = GradientTexture(textureStruct, GradientType.TopRight);
            var rightGradient    = GradientTexture(textureStruct, GradientType.Right);
            var topGradient      = GradientTexture(textureStruct, GradientType.Top);
            var bottomLeft       = GradientTexture(textureStruct, GradientType.BottomLeft);
            var bottomRight      = GradientTexture(textureStruct, GradientType.BottomRight);
            var bottomGradient   = GradientTexture(textureStruct, GradientType.Bottom);


            var leftTopCorner = new Rect(0, 0, borderSize, borderSize);
            var leftBorder    = new Rect(0, borderSize, borderSize,
                                         UI.screenHeight - BottomMenuSize - borderSize - borderSize);

            var topBorder      = new Rect(borderSize, 0, UI.screenWidth - borderSize - borderSize, borderSize);
            var rightTopCorner = new Rect(UI.screenWidth - borderSize, topBorder.y, borderSize, borderSize);

            var rightBorder = new Rect(UI.screenWidth - borderSize, borderSize, borderSize,
                                       UI.screenHeight - BottomMenuSize - borderSize - borderSize);


            var bottomBorder = new Rect(borderSize, UI.screenHeight - borderSize - BottomMenuSize,
                                        UI.screenWidth - borderSize - borderSize, borderSize);

            var rightBottomCorner = new Rect(rightBorder.x, bottomBorder.y, borderSize, borderSize);

            var leftBottomCorner = new Rect(0, bottomBorder.y, borderSize, borderSize);

            var pairs = new List <Pair <Rect, Texture2D> >
            {
                new Pair <Rect, Texture2D>(leftBorder, leftGradient),
                new Pair <Rect, Texture2D>(rightBorder, rightGradient),
                new Pair <Rect, Texture2D>(topBorder, topGradient),
                new Pair <Rect, Texture2D>(bottomBorder, bottomGradient),
                new Pair <Rect, Texture2D>(leftTopCorner, topLeftGradient),
                new Pair <Rect, Texture2D>(rightTopCorner, topRightGradient),
                new Pair <Rect, Texture2D>(rightBottomCorner, bottomRight),
                new Pair <Rect, Texture2D>(leftBottomCorner, bottomLeft)
            };

            return(pairs);
        }
Exemplo n.º 11
0
 public BaseEntity(string spriteName, TextureStruct texture, string name)
     : base(spriteName, texture, ObjectType.Entity, name)
 {
     position = new Pos(0, 0);
 }
Exemplo n.º 12
0
 public BaseItem(string spriteName, TextureStruct texture, string name)
     : base(spriteName, texture, ObjectType.Item, name)
 {
 }
Exemplo n.º 13
0
 public BaseFloor(string spriteName, TextureStruct texture, string name)
     : base(spriteName, texture, ObjectType.Floor, name)
 {
 }