public static CustomSprite CreateSpriteFromBitmap(CustomBitmap bitmap) { CustomSprite ret = new CustomSprite(); ret.Bitmap = bitmap; return(ret); }
public void Load(CustomBitmap spriteBitmap) { misilBitmap = spriteBitmap; sprite = new CustomSprite(); sprite.Bitmap = misilBitmap; }
public void Load(string exampleDir, CustomBitmap spriteSheet) { asteroidBitmap = spriteSheet; sprites = new List <CustomSprite>(); spriteSize = new Vector2(SpriteWidth, SpriteHeight); size = 1.0f; angle = 0.0f; CustomSprite newSprite; //Creo 64 sprites asignando distintos clipping rects a cada uno. for (var i = 0; i < 8; i++) { for (var j = 0; j < 8; j++) { newSprite = new CustomSprite(); newSprite.Bitmap = asteroidBitmap; newSprite.SrcRect = new Rectangle(j * (int)spriteSize.X, i * (int)spriteSize.Y, (int)spriteSize.X, (int)spriteSize.Y); newSprite.Scaling = new Vector2(size, size); newSprite.Rotation = angle; sprites.Add(newSprite); } } currentSprite = 0; GenerateRandomPosition(); }
public CraftingMenu() : base() { // Imagenes para los slots bitmapSlotBackground = new CustomBitmap(Game.Default.MediaDirectory + "craftingSlotBackground.jpg", D3DDevice.Instance.Device); bitmapSlotProduct = new CustomBitmap(Game.Default.MediaDirectory + "cajaMadera4.jpg", D3DDevice.Instance.Device); }
public PrincipalMenu(Subnautica gameInstance) : base() { input = gameInstance.Input; this.gameInstance = gameInstance; bitmapSlotBackground = new CustomBitmap(Game.Default.MediaDirectory + "craftingSlotBackground.jpg", D3DDevice.Instance.Device); background = new CustomSprite(Game.Default.MediaDirectory + "blackSquare.jpg"); background.Color = Color.FromArgb(80, 0, 0, 0); // para la transparencia background.SrcRect = new Rectangle(0, 0, D3DDevice.Instance.Width, D3DDevice.Instance.Height); background.Position = TGCVector2.Zero; wasdSprite = new CustomSprite(gameInstance.MediaDir + "Sprites//WASD.png"); wasdSprite.SrcRect = new Rectangle(0, 0, D3DDevice.Instance.Width, D3DDevice.Instance.Height); wasdSprite.Position = new TGCVector2(D3DDevice.Instance.Width / 8, D3DDevice.Instance.Height / 2.5f); escISprite = new CustomSprite(gameInstance.MediaDir + "Sprites//EscI.png"); escISprite.SrcRect = new Rectangle(0, 0, D3DDevice.Instance.Width, D3DDevice.Instance.Height); escISprite.Position = new TGCVector2(D3DDevice.Instance.Width / 2.7f, D3DDevice.Instance.Height / 2.5f); mouseSprite = new CustomSprite(gameInstance.MediaDir + "Sprites//Mouse.png"); mouseSprite.SrcRect = new Rectangle(0, 0, D3DDevice.Instance.Width, D3DDevice.Instance.Height); mouseSprite.Position = new TGCVector2(D3DDevice.Instance.Width / 1.5f, D3DDevice.Instance.Height / 2f); titleText = new TgcText2D(); titleText.Text = "Tgcito se va de buceo"; titleText.changeFont(new Font("TimesNewRoman", 50, FontStyle.Bold)); titleText.Align = TgcText2D.TextAlign.CENTER; titleText.Position = new Point(0, D3DDevice.Instance.Height / 6); titleText.Color = Color.AntiqueWhite; UpdateSlotDisplay(); }
public Button(String Name, TgcD3dInput Input, CustomBitmap normal, CustomBitmap mouseover, Action Callback, FontFamily fontFamily) : base(Input) { this.nombre = Name; this.sprite_normal = normal; this.sprite_mouseover = mouseover; this.current_sprite = new CustomSprite(); this.current_sprite.Bitmap = sprite_normal; this.current_sprite.Scaling = new Vector2(0.5f, 0.5f); this.Callback = Callback; drawText = new TgcText2D(); drawText.Align = TgcText2D.TextAlign.LEFT; drawText.changeFont(new Font(fontFamily, 25, FontStyle.Regular)); }
public CustomBitmap [] GetImages(int nb, TimeSpan delay) { // logger.Info("Acquiring images... " + nb); var images = new CustomBitmap [nb]; // logger.Info("array built "); var startX = 1; //r.Next() % (width / 2); var startY = r.Next() % (height / 2); // logger.Info("Start {0},{1}", startX, startY); for (int i = 0; i < nb; i++) { // logger.Info("will generate " + i + " "); var image = new CustomBitmap(width, height); //logger.Info("Image " + i + " bitmap built "); //logger.Info("River speed: " + river.RiverSpeed); //logger.Info("Pixels per meter: " + ppm); //logger.Info("Delay: " + delay.TotalSeconds); // Move the start according the speed of the river startX = (int)(startX + river.RiverSpeed * ppm * delay.TotalSeconds); //startY = (int) (startY + river.RiverSpeed * ppm * delay.TotalSeconds); //logger.Info("Next {0},{1}", startX, startY); for (int x = 0; x < square_size; x++) { for (int y = 0; y < square_size; y++) { image.SetPixel(Math.Min(startX + x, width - 1), Math.Min(startY + y, height - 1), 1); } } //logger.Info("square drawn "); if (river.NoisyImage) { for (int j = 0; j < 5; j++) { image.SetPixel(r.Next(0, width), r.Next(0, height), 1); } } images [i] = image; //logger.Info("Image " + i + " generated "); //logger.Trace(image.ToString ()); } return(images); }
public void Load(CustomBitmap bitmap, TgcD3dInput input) { Input = input; spaceshipBitmap = bitmap; sprites = new List <CustomSprite>(); spriteSize = new TGCVector2(41, 44); size = 2.0f; CustomSprite newSprite; for (var i = 0; i < 3; i++) { newSprite = new CustomSprite(); newSprite.Bitmap = spaceshipBitmap; newSprite.SrcRect = new Rectangle(i * (int)spriteSize.X, 0, (int)spriteSize.X, (int)spriteSize.Y); newSprite.Scaling = new TGCVector2(size, size); sprites.Add(newSprite); } currentSprite = 0; state = StateEnum.Idle; Position = new TGCVector2(100, 100); speed = TGCVector2.Zero; angleToMousePointer = 0; RestartPosition(); GameManager.Instance.userVars.addVar("elapsed"); GameManager.Instance.userVars.addVar("speedX"); GameManager.Instance.userVars.addVar("speedY"); GameManager.Instance.userVars.addVar("PosX"); GameManager.Instance.userVars.addVar("PosY"); GameManager.Instance.userVars.addVar("MousePosX"); GameManager.Instance.userVars.addVar("MousePosY"); GameManager.Instance.userVars.addVar("AngleMouse"); GameManager.Instance.userVars.addVar("Misiles"); }
public PauseMenu(Subnautica gameInstance) : base() { this.gameInstance = gameInstance; bitmapSlotBackground = new CustomBitmap(Game.Default.MediaDirectory + "craftingSlotBackground.jpg", D3DDevice.Instance.Device); background = new CustomSprite(Game.Default.MediaDirectory + "blackSquare.jpg"); background.Color = Color.FromArgb(170, 0, 0, 0); // para la transparencia background.SrcRect = new Rectangle(0, 0, D3DDevice.Instance.Width, D3DDevice.Instance.Height); background.Position = TGCVector2.Zero; pauseText = new TgcText2D(); pauseText.Text = "Pausa"; pauseText.Position = new Point(0, D3DDevice.Instance.Height / 2 - 65); pauseText.Align = TgcText2D.TextAlign.CENTER; pauseText.changeFont(new Font("TimesNewRoman", 50, FontStyle.Bold)); pauseText.Color = Color.DarkGray; }
public override void Draw(PaintEventArgs e) { if (bitmap == null) { bitmap = new Bitmap(CountX - 1, CountY - 1); } //updateZminZmax(); tak ostabit' if (needRecoloring) { Recoloring(); } //Graphics g = e.Graphics; System.Drawing.Point leftTop = map.MapToScreen(new GeoPoint(XMin, YMax)); System.Drawing.Point rightBottom = map.MapToScreen(new GeoPoint(XMax, YMin)); Rectangle rect = new Rectangle(leftTop.X, leftTop.Y, rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y); CustomBitmap bmp = new CustomBitmap(bitmap, new MapObjects.Points.GeoPoint(rect.X, rect.Y), rect.Width, rect.Height); bmp.Draw(e); }
public CraftingSlot(TGCVector2 position, BluePrint bluePrint, Menu menu, CustomBitmap bitmapBackground, CustomBitmap bitmapProduct) : base(position, menu) { Item productSample = ItemDatabase.Instance.Generate(bluePrint.ProductId); this.bluePrint = bluePrint; productSlot = new CustomSprite(); productSlot.Bitmap = bitmapProduct; productSlot.Position = new TGCVector2(position.X + 10, position.Y + 10); float slotScalingFactor = 0.5f; productSlot.Scaling = TGCVector2.One * slotScalingFactor; productSprite = ItemDatabase.Instance.ItemSprites[productSample.ID]; productSprite.Scaling = TGCVector2.One * 0.5f; productSprite.Position = productSlot.Position; title.Text = productSample.Name; title.Position = new Point((int)(productSlot.Position.X + productSlot.Bitmap.Size.Width * slotScalingFactor + 15), (int)productSlot.Position.Y + 20); title.Align = TgcText2D.TextAlign.LEFT; title.changeFont(new Font("TimesNewRoman", 20, FontStyle.Bold)); title.Color = Color.DarkGray; description.Text = bluePrint.Description; description.Position = new Point(title.Position.X, title.Position.Y + 30); description.Size = new Size(600, 300); description.Align = TgcText2D.TextAlign.LEFT; description.changeFont(new Font("TimesNewRoman", 14, FontStyle.Bold)); description.Color = Color.LightGray; Size = new Size((int)(productSlot.Bitmap.Size.Width * slotScalingFactor + description.Size.Width + 30), (int)(productSlot.Bitmap.Height * slotScalingFactor + 20)); slotBackground = new CustomSprite(); slotBackground.Bitmap = bitmapBackground; slotBackground.Position = Position; // slotBackground.SrcRect = new Rectangle((int)position.X, (int)position.Y, Size.Width, Size.Height); slotBackground.SrcRect = new Rectangle(0, 0, Size.Width, Size.Height); }
internal void Init(string exampleDir, TgcUserVars userVars, TgcD3dInput input) { this.userVars = userVars; //Creo el sprite drawer spriteDrawer = new Drawer2D(); //Creo la lista de asteroides. asteroids = new List <Asteroide>(); //Creo la lista de misiles. misiles = new List <Misil>(); ScreenWidth = D3DDevice.Instance.Device.Viewport.Width; ScreenHeight = D3DDevice.Instance.Device.Viewport.Height; //Cargo el bitmap del spritesheet de la nave. asteroidBitmap = new CustomBitmap(exampleDir + "Asteroides.png", D3DDevice.Instance.Device); spaceshipBitmap = new CustomBitmap(exampleDir + "nave.png", D3DDevice.Instance.Device); //Cargo el bitmap del misil que dispara la nave. misilBitmap = new CustomBitmap(exampleDir + "particle.png", D3DDevice.Instance.Device); //Creo la nave espacial spaceShip = new Spaceship(); spaceShip.Load(spaceshipBitmap, input); //Creo la cantidad de asteroides simultaneos. for (var i = 0; i < AsteroidCount; i++) { var asteroid = new Asteroide(); asteroid.Load(exampleDir, asteroidBitmap); asteroids.Add(asteroid); } }
public InventorySlot(TGCVector2 position, EItemID itemID, int amount, Menu menu, CustomBitmap bitmapBackground) : base(position, menu) { itemSample = ItemDatabase.Instance.Generate(itemID); this.amount = amount; itemSprite = ItemDatabase.Instance.ItemSprites[itemID]; itemSprite.Position = Position; float scalingFactor = 0.25f; itemSprite.Scaling = TGCVector2.One * scalingFactor; itemName.Text = itemSample.Name; itemName.Position = new Point((int)(itemSprite.Position.X + itemSprite.Bitmap.Size.Width * scalingFactor + 10), (int)itemSprite.Position.Y + 5); itemName.Align = TgcText2D.TextAlign.LEFT; itemName.changeFont(new Font("TimesNewRoman", 14, FontStyle.Bold)); itemName.Color = Color.DarkGray; itemDescription.Text = itemSample.Description; itemDescription.Position = new Point(itemName.Position.X, itemName.Position.Y + 30); itemDescription.Size = new Size(450, 300); itemDescription.Align = TgcText2D.TextAlign.LEFT; itemDescription.changeFont(new Font("TimesNewRoman", 11, FontStyle.Bold)); itemDescription.Color = Color.LightGray; itemAmount.Text = amount.ToString(); itemAmount.Position = new Point((int)itemSprite.Position.X, (int)itemSprite.Position.Y); itemAmount.Align = TgcText2D.TextAlign.LEFT; itemAmount.changeFont(new Font("TimesNewRoman", 14, FontStyle.Bold)); itemAmount.Color = Color.White; Size = new Size((int)(itemSprite.Bitmap.Size.Width * scalingFactor + itemDescription.Size.Width + 180), (int)(itemSprite.Bitmap.Height * scalingFactor + 30)); slotBackground = new CustomSprite(); slotBackground.Bitmap = bitmapBackground; slotBackground.Position = new TGCVector2(Position.X - 25, Position.Y - 15); // slotBackground.SrcRect = new Rectangle((int)position.X, (int)position.Y, Size.Width, Size.Height); slotBackground.SrcRect = new Rectangle(0, 0, Size.Width, Size.Height); }
public PrincipalMenuSlot(TGCVector2 position, Menu menu, string text, Func <bool> onClickFunction, CustomBitmap bitmapBackground) : base(position, menu) { this.onClickFunction = onClickFunction; Size = new Size(300, 100); this.text = new TgcText2D(); this.text.Text = text; this.text.Position = new Point((int)(position.X) + 50, (int)position.Y + 15); this.text.Align = TgcText2D.TextAlign.LEFT; this.text.changeFont(new Font("TimesNewRoman", 20, FontStyle.Bold)); this.text.Color = Color.White; slotBackground = new CustomSprite(); slotBackground.Bitmap = bitmapBackground; slotBackground.Position = new TGCVector2(Position.X, Position.Y - 15); slotBackground.SrcRect = new Rectangle(0, 0, Size.Width, Size.Height); }
public InventoryMenu(Player owner) : base() { bitmapSlotBackground = new CustomBitmap(Game.Default.MediaDirectory + "craftingSlotBackground.jpg", D3DDevice.Instance.Device); }