Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        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)));
        }