public Tile(TileTextures tileTextures, Vector3 position, float visualHeight, int xcoord, int ycoord, decimal gameHeight) { _model = new TileModel(tileTextures, position, visualHeight); XCoord = xcoord; YCoord = ycoord; GameHeight = gameHeight; Tint = new Vector4(1.0f); }
public static Level CreateLevel(ContentManager contentManager, LevelData levelData) { InitializeDictionary(); var level = new Level(levelData.TilesLong, levelData.TilesWide); for (int i = 0; i < level.Width; i++) { for (int j = 0; j < level.Length; j++) { int index = i*level.Length + j; var tileData = levelData.TileDatas[index]; var topTexture = contentManager.Load<Texture2D>(tileData.TopTextureName); var northTexture = contentManager.Load<Texture2D>(tileData.NorthTextureName); var southTexture = contentManager.Load<Texture2D>(tileData.SouthTextureName); var eastTexture = contentManager.Load<Texture2D>(tileData.EastTextureName); var westTexture = contentManager.Load<Texture2D>(tileData.WestTextureName); var tileTextures = new TileTextures(topTexture, northTexture, southTexture, eastTexture, westTexture); Vector3 tilePosition = new Vector3(j * 64.0f, tileData.VisualHeight, i * 64.0f); var tile = new Tile(tileTextures, tilePosition, tileData.VisualHeight, j, i, tileData.YPosition); level.Tiles[index] = tile; } } foreach (var info in levelData.ActorInfos) { var actor = MakeActor(info, levelData.TileDatas, levelData.TilesLong); actor.Team = info.Team; level.Actors.Add(actor); var tile = level.Tiles.Single(t => t.XCoord == info.TileX && t.YCoord == info.TileY); tile.SetActor(actor); } level.BackgroundImage = contentManager.Load<Texture2D>(levelData.BackgroundTextureName); return level; }
public TileModel(TileTextures tileTextures, Vector3 position, float height) { _tileTextures = tileTextures; Construct(position, height); }