/// <summary> /// Add physics crates /// </summary> private void AddCrates() { var cratesLayer = this.tiledMap.ObjectLayers["Crates"]; var sceneTiles = this.tiledMap.Tilesets.Where(t => t.Name == "sceneTiles").First(); var createRectangle = TiledMapUtils.GetRectangleTileByID(sceneTiles, CrateTileID); int i = 0; foreach (var obj in cratesLayer.Objects) { Entity crateEntity = new Entity("crate_" + (i++)) { Tag = "crate" } .AddComponent(new Transform2D() { LocalPosition = new Vector2(obj.X, obj.Y), Rotation = (float)obj.Rotation, DrawOrder = -9 }) .AddComponent(new Sprite(WaveContent.Assets.tilesets.sceneTiles_png) { SourceRectangle = createRectangle }) .AddComponent(new SpriteRenderer(DefaultLayers.Alpha, AddressMode.PointWrap)) .AddComponent(new RectangleCollider2D() { Density = 0.3f, }) .AddComponent(new RigidBody2D()); this.EntityManager.Add(crateEntity); } }
private Entity CreateMouseOverEntity(Color color, int tileId) { var sceneTileSet = this.tiledMap.Tilesets.First(ts => ts.Name == "Default"); var tileRectangle = TiledMapUtils.GetRectangleTileByID(sceneTileSet, tileId); return(new Entity() { IsVisible = false } .AddComponent(new Transform2D() { LocalDrawOrder = -1f, Opacity = 0.5f }) .AddComponent(new Sprite(sceneTileSet.Image.AssetPath) { SourceRectangle = tileRectangle, TintColor = color }) .AddComponent(new SpriteRenderer(DefaultLayers.Alpha, AddressMode.PointWrap))); }