Exemple #1
0
 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;
        }
Exemple #3
0
 public TileModel(TileTextures tileTextures, Vector3 position, float height)
 {
     _tileTextures = tileTextures;
     Construct(position, height);
 }