v0.19.8.0
This commit is contained in:
@@ -80,7 +80,7 @@ namespace Barotrauma
|
||||
{
|
||||
if (ID != Entity.NullEntityID)
|
||||
{
|
||||
DebugConsole.ShowError("Error setting SoldItem.ID: ID has already been set and should not be changed.");
|
||||
DebugConsole.LogError("Error setting SoldItem.ID: ID has already been set and should not be changed.");
|
||||
return;
|
||||
}
|
||||
ID = id;
|
||||
@@ -128,7 +128,7 @@ namespace Barotrauma
|
||||
{
|
||||
if (Item != null)
|
||||
{
|
||||
DebugConsole.ShowError($"Trying to set SoldEntity.Item, but it's already set!\n{Environment.StackTrace.CleanupStackTrace()}");
|
||||
DebugConsole.LogError($"Trying to set SoldEntity.Item, but it's already set!\n{Environment.StackTrace.CleanupStackTrace()}");
|
||||
return;
|
||||
}
|
||||
Item = item;
|
||||
|
||||
@@ -198,6 +198,34 @@ namespace Barotrauma
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove the character from the crew (and crew menus).
|
||||
/// </summary>
|
||||
/// <param name="character">The character to remove</param>
|
||||
/// <param name="removeInfo">If the character info is also removed, the character will not be visible in the round summary.</param>
|
||||
public void RemoveCharacter(Character character, bool removeInfo = false, bool resetCrewListIndex = true)
|
||||
{
|
||||
if (character == null)
|
||||
{
|
||||
DebugConsole.ThrowError("Tried to remove a null character from CrewManager.\n" + Environment.StackTrace.CleanupStackTrace());
|
||||
return;
|
||||
}
|
||||
characters.Remove(character);
|
||||
if (removeInfo)
|
||||
{
|
||||
characterInfos.Remove(character.Info);
|
||||
#if CLIENT
|
||||
RemoveCharacterFromCrewList(character);
|
||||
#endif
|
||||
}
|
||||
#if CLIENT
|
||||
if (resetCrewListIndex)
|
||||
{
|
||||
ResetCrewListIndex(character);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
public void AddCharacterInfo(CharacterInfo characterInfo)
|
||||
{
|
||||
if (characterInfos.Contains(characterInfo))
|
||||
|
||||
+8
@@ -27,6 +27,8 @@ namespace Barotrauma
|
||||
|
||||
public readonly Identifier EventIdentifier;
|
||||
|
||||
public readonly Sprite Banner;
|
||||
|
||||
public TutorialPrefab(ContentFile file, ContentXElement element) : base(file, element.GetAttributeIdentifier("identifier", ""))
|
||||
{
|
||||
Order = element.GetAttributeInt("order", int.MaxValue);
|
||||
@@ -50,6 +52,12 @@ namespace Barotrauma
|
||||
StartingItemTags = ImmutableArray<Identifier>.Empty;
|
||||
}
|
||||
|
||||
var bannerElement = element.GetChildElement("banner");
|
||||
if (bannerElement != null)
|
||||
{
|
||||
Banner = new Sprite(bannerElement, lazyLoad: true);
|
||||
}
|
||||
|
||||
EventIdentifier = element.GetChildElement("scriptedevent")?.GetAttributeIdentifier("identifier", "") ?? Identifier.Empty;
|
||||
}
|
||||
|
||||
|
||||
@@ -412,14 +412,14 @@ namespace Barotrauma
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<Item> GetLinkedItemsToSwap(Item item)
|
||||
public static ICollection<Item> GetLinkedItemsToSwap(Item item)
|
||||
{
|
||||
List<Item> linkedItems = new List<Item>() { item };
|
||||
HashSet<Item> linkedItems = new HashSet<Item>() { item };
|
||||
foreach (MapEntity linkedEntity in item.linkedTo)
|
||||
{
|
||||
foreach (MapEntity secondLinkedEntity in linkedEntity.linkedTo)
|
||||
{
|
||||
if (!(secondLinkedEntity is Item linkedItem) || linkedItem == item) { continue; }
|
||||
if (secondLinkedEntity is not Item linkedItem || linkedItem == item) { continue; }
|
||||
if (linkedItem.AllowSwapping &&
|
||||
linkedItem.Prefab.SwappableItem != null && (linkedItem.Prefab.SwappableItem.CanBeBought || item.Prefab.SwappableItem.ReplacementOnUninstall == ((MapEntity)linkedItem).Prefab.Identifier) &&
|
||||
linkedItem.Prefab.SwappableItem.SwapIdentifier.Equals(item.Prefab.SwappableItem.SwapIdentifier, StringComparison.OrdinalIgnoreCase))
|
||||
@@ -709,7 +709,7 @@ namespace Barotrauma
|
||||
SavePendingUpgrades(upgradeManagerElement, PendingUpgrades);
|
||||
}
|
||||
|
||||
private void SavePendingUpgrades(XElement? parent, List<PurchasedUpgrade> upgrades)
|
||||
private static void SavePendingUpgrades(XElement? parent, List<PurchasedUpgrade> upgrades)
|
||||
{
|
||||
if (parent == null) { return; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user