Added a scale slider for sprites in the AssetBrowser

This commit is contained in:
penev92
2021-02-07 21:23:45 +02:00
committed by Matthias Mailänder
parent 40c728269c
commit 7a9e0863d6
4 changed files with 48 additions and 9 deletions

View File

@@ -53,6 +53,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
bool isLoadError = false;
int currentFrame;
WRot modelOrientation;
float spriteScale;
float modelScale;
[ObjectCreator.UseCtor]
@@ -94,8 +95,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
spriteWidget.GetSprite = () => currentSprites != null ? currentSprites[currentFrame] : null;
currentPalette = spriteWidget.Palette;
spriteScale = spriteWidget.Scale;
spriteWidget.GetPalette = () => currentPalette;
spriteWidget.IsVisible = () => !isVideoLoaded && !isLoadError && currentSprites != null;
spriteWidget.GetScale = () => spriteScale;
}
var playerWidget = panel.GetOrNull<VideoPlayerWidget>("PLAYER");
@@ -248,6 +251,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
prevButton.IsVisible = () => !isVideoLoaded;
}
var spriteScaleSlider = panel.GetOrNull<SliderWidget>("SPRITE_SCALE_SLIDER");
if (spriteScaleSlider != null)
{
spriteScaleSlider.OnChange += x => spriteScale = x;
spriteScaleSlider.GetValue = () => spriteScale;
spriteScaleSlider.IsVisible = () => !isVideoLoaded;
panel.GetOrNull<LabelWidget>("SPRITE_SCALE").IsVisible = () => !isVideoLoaded;
}
var voxelContainer = panel.GetOrNull("VOXEL_SELECTOR");
if (voxelContainer != null)
voxelContainer.IsVisible = () => currentVoxel != null;