/// <summary> /// Modifies the background image with the new asset path. /// </summary> /// <param name="imagePath">Path to the background image</param> private void ChangeBackgroundImage(string imagePath) { Entity imageEntity = this.entity.FindChild("ImageEntity"); ImageControl newImageControl = new ImageControl(imagePath) { Stretch = Stretch.Fill, }; if (imageEntity != null) { Transform2D transform = imageEntity.FindComponent <Transform2D>(); RectangleF rectangle = transform.Rectangle; rectangle.Offset(-rectangle.Width * transform.Origin.X, -rectangle.Height * transform.Origin.Y); // If imageEntity exist imageEntity.RemoveComponent <ImageControl>(); imageEntity.AddComponent(newImageControl); imageEntity.RefreshDependencies(); newImageControl.Arrange(rectangle); } else { // If imageEntity doesn't exist this.entity.AddChild(new Entity("ImageEntity") .AddComponent(new Transform2D() { DrawOrder = 0.5f }) .AddComponent(newImageControl) .AddComponent(new ImageControlRenderer())); this.entity.RefreshDependencies(); } }
/// <summary> /// Modifies the background image with the new asset path. /// </summary> /// <param name="imagePath">Path to the background image</param> private void ChangeBackgroundImage(string imagePath) { Entity imageEntity = this.entity.FindChild("ImageEntity"); ImageControl newImageControl = new ImageControl(imagePath) { Stretch = Stretch.Fill, }; if (imageEntity != null) { Transform2D transform = imageEntity.FindComponent<Transform2D>(); RectangleF rectangle = transform.Rectangle; rectangle.Offset(-rectangle.Width * transform.Origin.X, -rectangle.Height * transform.Origin.Y); // If imageEntity exist imageEntity.RemoveComponent<ImageControl>(); imageEntity.AddComponent(newImageControl); imageEntity.RefreshDependencies(); newImageControl.Arrange(rectangle); } else { // If imageEntity doesn't exist this.entity.AddChild(new Entity("ImageEntity") .AddComponent(new Transform2D() { DrawOrder = 0.5f }) .AddComponent(newImageControl) .AddComponent(new ImageControlRenderer())); this.entity.RefreshDependencies(); } }