Description:
Add ImageMap class I left out by mistake.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r133:579c89ee5952 -

@@ -0,0 +1,69
1
2 using System;
3
4 using Num = System.Numerics;
5 using Microsoft.Xna.Framework;
6 using Microsoft.Xna.Framework.Graphics;
7
8 namespace isometricparkfna
9 {
10 public class ImageMap
11 {
12 static public Texture2D ImageMapTexture;
13
14 public int TileWidth;
15 public int TileHeight;
16
17 public ImageMap(int tileWidth, int tileHeight )
18 {
19 this.TileHeight = tileHeight;
20 this.TileWidth = tileWidth;
21 }
22
23 public Rectangle GetSourceRectangle(int tileIndex)
24 {
25 int tileY = tileIndex / (ImageMapTexture.Width / TileWidth);
26 int tileX = tileIndex % (ImageMapTexture.Width / TileWidth);
27
28 return new Rectangle(tileX * TileWidth, tileY * TileHeight, TileWidth, TileHeight);
29 }
30 public Num.Vector2 GetSourceUVStart(int tileIndex)
31 {
32 int tileX = tileIndex % (ImageMapTexture.Width / TileWidth);
33 int tileY = tileIndex / (ImageMapTexture.Width / TileWidth);
34
35 int imageMapX = (tileX) * TileWidth;
36 int imageMapY = (tileY) * TileHeight;
37
38
39 return new Num.Vector2( ((float)imageMapX)/ImageMapTexture.Width,
40 ((float)imageMapY)/ImageMapTexture.Height);
41
42 }
43 public Num.Vector2 GetSourceUVEnd(int tileIndex)
44 {
45 int tileX = tileIndex % (ImageMapTexture.Width / TileWidth);
46 int tileY = tileIndex / (ImageMapTexture.Width / TileWidth);
47
48 int imageMapX = (tileX+1) * TileWidth;
49 int imageMapY = (tileY+1) * TileHeight;
50
51
52 return new Num.Vector2( ((float)imageMapX)/ImageMapTexture.Width,
53 ((float)imageMapY)/ImageMapTexture.Height);
54
55 }
56
57 public Rectangle GetExtendedSourceRectangle(int tileIndex, int height)
58 {
59 int tileY = tileIndex / (ImageMapTexture.Width / TileWidth);
60 int tileX = tileIndex % (ImageMapTexture.Width / TileWidth);
61
62 return new Rectangle(tileX * TileWidth, tileY * TileHeight, TileWidth, TileHeight*height);
63 }
64
65
66
67
68 }
69 }
You need to be logged in to leave comments. Login now