(aee208587) Option to configure multiple sprite variants for a LevelObject, implemented new ice/rock sprites

This commit is contained in:
Joonas Rikkonen
2019-05-16 05:57:58 +03:00
parent 412d46169e
commit 18b6775457
18 changed files with 358 additions and 171 deletions
@@ -174,7 +174,10 @@ namespace Barotrauma
foreach (LevelObjectPrefab levelObjPrefab in LevelObjectPrefab.List)
{
levelObjPrefab.Sprite?.EnsureLazyLoaded();
foreach (Sprite sprite in levelObjPrefab.Sprites)
{
sprite?.EnsureLazyLoaded();
}
}
pointerLightSource = new LightSource(Vector2.Zero, 1000.0f, Color.White, submarine: null);
@@ -251,7 +254,7 @@ namespace Barotrauma
CanBeFocused = false,
};
Sprite sprite = levelObjPrefab.Sprite ?? levelObjPrefab.DeformableSprite?.Sprite;
Sprite sprite = levelObjPrefab.Sprites.FirstOrDefault() ?? levelObjPrefab.DeformableSprite?.Sprite;
GUIImage img = new GUIImage(new RectTransform(new Point(paddedFrame.Rect.Height, paddedFrame.Rect.Height - textBlock.Rect.Height),
paddedFrame.RectTransform, Anchor.TopCenter), sprite, scaleToFit: true)
{
@@ -289,7 +292,7 @@ namespace Barotrauma
editor.AddCustomContent(commonnessContainer, 1);
}
Sprite sprite = levelObjectPrefab.Sprite ?? levelObjectPrefab.DeformableSprite?.Sprite;
Sprite sprite = levelObjectPrefab.Sprites.FirstOrDefault() ?? levelObjectPrefab.DeformableSprite?.Sprite;
if (sprite != null)
{
editor.AddCustomContent(new GUIButton(new RectTransform(new Point(editor.Rect.Width / 2, 20)),
@@ -617,8 +620,8 @@ namespace Barotrauma
var texturePathBox = new GUITextBox(new RectTransform(new Point(listBox.Content.Rect.Width, elementSize), listBox.Content.RectTransform));
foreach (LevelObjectPrefab prefab in LevelObjectPrefab.List)
{
if (prefab.Sprite == null) continue;
texturePathBox.Text = Path.GetDirectoryName(prefab.Sprite.FilePath);
if (prefab.Sprites.FirstOrDefault() == null) continue;
texturePathBox.Text = Path.GetDirectoryName(prefab.Sprites.FirstOrDefault().FilePath);
break;
}