public override void draw(Spine.SkeletonRenderer sb) { sb.DrawSpriteToSpineVertexArray(Game1.whitePixel, new Rectangle(0, 0, 1, 1), position, Color.Lerp(parentWorld.KeyModule.KeyColorSet[(int)color], new Color(0.0f, 0.0f, 1.0f, 0.25f), 0.5f), 0.0f, dimensions); //sb.Draw(Game1.whitePixel, position, null, Color.Lerp(parentWorld.KeyModule.KeyColorSet[(int)color], new Color(0.0f, 0.0f, 1.0f, 0.25f), 0.5f), 0.0f, Vector2.Zero, dimensions, SpriteEffects.None, 0.45f); }
public void renderSPINEBATCHTEST(Spine.SkeletonRenderer sb, float depth, List <MutantAcidSpitter> spitters) { int focusTileX = (int)(parent.CameraFocus.CenterPoint.X / GlobalGameConstants.TileSize.X); int focusTileY = (int)(parent.CameraFocus.CenterPoint.Y / GlobalGameConstants.TileSize.Y); for (int j = Math.Max(0, focusTileY - 8); j < Math.Min(size.y, focusTileY + 9); j++) { for (int i = Math.Max(0, focusTileX - 14); i < Math.Min(size.x, focusTileX + 15); i++) { if (map[i, j] != TileType.NoWall) { continue; } if (floorMap[i, j] == FloorType.Elevator) { sb.DrawSpriteToSpineVertexArray(tileSkin[4], new Rectangle((int)(3 * GlobalGameConstants.TileSize.X + 3), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); } else { switch (floorMap[i, j]) { case FloorType.A: sb.DrawSpriteToSpineVertexArray(tileSkin[0], new Rectangle((int)(3 * GlobalGameConstants.TileSize.X + 3), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.B: sb.DrawSpriteToSpineVertexArray(tileSkin[0], new Rectangle((int)(4 * GlobalGameConstants.TileSize.X + 4), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.C: sb.DrawSpriteToSpineVertexArray(tileSkin[1], new Rectangle((int)(3 * GlobalGameConstants.TileSize.X + 3), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.D: sb.DrawSpriteToSpineVertexArray(tileSkin[1], new Rectangle((int)(4 * GlobalGameConstants.TileSize.X + 4), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.E: sb.DrawSpriteToSpineVertexArray(tileSkin[2], new Rectangle((int)(3 * GlobalGameConstants.TileSize.X + 3), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.F: sb.DrawSpriteToSpineVertexArray(tileSkin[2], new Rectangle((int)(4 * GlobalGameConstants.TileSize.X + 4), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.G: sb.DrawSpriteToSpineVertexArray(tileSkin[3], new Rectangle((int)(3 * GlobalGameConstants.TileSize.X + 3), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case FloorType.H: sb.DrawSpriteToSpineVertexArray(tileSkin[3], new Rectangle((int)(4 * GlobalGameConstants.TileSize.X + 4), (int)(2 * GlobalGameConstants.TileSize.Y + 3), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; } } } } for (int i = 0; i < spitters.Count; i++) { spitters[i].drawAcidSplotches(sb); } for (int j = Math.Max(0, focusTileY - 8); j < Math.Min(size.y, focusTileY + 9); j++) { for (int i = Math.Max(0, focusTileX - 14); i < Math.Min(size.x, focusTileX + 15); i++) { int tileX; int tileY; switch (map[i, j]) { case TileType.NoWall: break; case TileType.TestWall: sb.DrawSpriteToSpineVertexArray(tileSkin[0], new Rectangle((int)(1 * GlobalGameConstants.TileSize.X + 1), (int)(6 * GlobalGameConstants.TileSize.Y + 6), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case TileType.WallA: case TileType.WallB: case TileType.WallC: case TileType.WallD: case TileType.WallE: case TileType.WallF: case TileType.WallG: case TileType.WallH: case TileType.WallI: case TileType.WallJ: case TileType.WallK: case TileType.WallL: case TileType.WallM: case TileType.WallN: case TileType.WallO: case TileType.WallP: tileX = ((int)(map[i, j]) - 2) % 5; tileY = ((int)(map[i, j]) - 2) / 5; sb.DrawSpriteToSpineVertexArray(tileSkin[(int)mapMod[i, j]], new Rectangle((int)(tileX * GlobalGameConstants.TileSize.X + tileX), (int)(tileY * GlobalGameConstants.TileSize.Y + tileY), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; case TileType.WallUnidentified: default: sb.DrawSpriteToSpineVertexArray(tileSkin[0], new Rectangle((int)(1 * GlobalGameConstants.TileSize.X + 1), (int)(6 * GlobalGameConstants.TileSize.Y + 6), (int)(GlobalGameConstants.TileSize.X), (int)(GlobalGameConstants.TileSize.Y)), new Vector2((int)(i * tileSize.X), (int)(j * tileSize.Y))); break; } } } }