(ffa3ddbca) Implemented changing mineral sprites when attached to a wall
This commit is contained in:
@@ -101,9 +101,22 @@ namespace Barotrauma
|
||||
return color;
|
||||
}
|
||||
|
||||
partial void SetActiveSprite()
|
||||
partial void SetActiveSpriteProjSpecific()
|
||||
{
|
||||
activeSprite = prefab.sprite;
|
||||
Holdable holdable = GetComponent<Holdable>();
|
||||
if (holdable != null && holdable.Attached)
|
||||
{
|
||||
foreach (ContainedItemSprite containedSprite in Prefab.ContainedSprites)
|
||||
{
|
||||
if (containedSprite.UseWhenAttached)
|
||||
{
|
||||
activeSprite = containedSprite.Sprite;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Container != null)
|
||||
{
|
||||
foreach (ContainedItemSprite containedSprite in Prefab.ContainedSprites)
|
||||
@@ -173,8 +186,7 @@ namespace Barotrauma
|
||||
|
||||
Color color = isHighlighted && !GUI.DisableItemHighlights && Screen.Selected != GameMain.GameScreen ? Color.Orange : GetSpriteColor();
|
||||
//if (IsSelected && editing) color = Color.Lerp(color, Color.Gold, 0.5f);
|
||||
|
||||
Sprite activeSprite = prefab.sprite;
|
||||
|
||||
BrokenItemSprite fadeInBrokenSprite = null;
|
||||
float fadeInBrokenSpriteAlpha = 0.0f;
|
||||
if (condition < Prefab.Health)
|
||||
@@ -783,7 +795,7 @@ namespace Barotrauma
|
||||
{
|
||||
if (!ic.CanBeSelected) { continue; }
|
||||
|
||||
bool useAlternativeLayout = activeHUDs.Count > 1;
|
||||
bool useAlternativeLayout = ic.Item != this;
|
||||
bool wasUsingAlternativeLayout = ic.UseAlternativeLayout;
|
||||
ic.UseAlternativeLayout = useAlternativeLayout;
|
||||
needsLayoutUpdate |= ic.UseAlternativeLayout != wasUsingAlternativeLayout;
|
||||
|
||||
@@ -25,12 +25,14 @@ namespace Barotrauma
|
||||
class ContainedItemSprite
|
||||
{
|
||||
public readonly Sprite Sprite;
|
||||
public readonly bool UseWhenAttached;
|
||||
public readonly string[] AllowedContainerIdentifiers;
|
||||
public readonly string[] AllowedContainerTags;
|
||||
|
||||
public ContainedItemSprite(XElement element, string path = "", bool lazyLoad = false)
|
||||
{
|
||||
Sprite = new Sprite(element, path, lazyLoad: lazyLoad);
|
||||
UseWhenAttached = element.GetAttributeBool("usewhenattached", false);
|
||||
AllowedContainerIdentifiers = element.GetAttributeStringArray("allowedcontaineridentifiers", new string[0], convertToLowerInvariant: true);
|
||||
AllowedContainerTags = element.GetAttributeStringArray("allowedcontainertags", new string[0], convertToLowerInvariant: true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user