(683b11c00) High-res shuttle preview images + merge fix

This commit is contained in:
Joonas Rikkonen
2019-05-16 07:05:08 +03:00
parent 5438a65852
commit f605651966
43 changed files with 34 additions and 3476 deletions
@@ -149,7 +149,6 @@ namespace Barotrauma
character.MemLocalState[i].TransformOutToInside(currentHull.Submarine); character.MemLocalState[i].TransformOutToInside(currentHull.Submarine);
} }
} }
} }
if (character.MemState.Count < 1) return; if (character.MemState.Count < 1) return;
@@ -164,14 +164,8 @@ namespace Barotrauma
break; break;
} }
} }
}
partial void UpdateLimbLightSource(Limb limb) hudProgressBars = new Dictionary<object, HUDProgressBar>();
{
if (limb.LightSource != null)
{
limb.LightSource.Enabled = enabled;
}
} }
partial void UpdateLimbLightSource(Limb limb) partial void UpdateLimbLightSource(Limb limb)
@@ -174,13 +174,6 @@ namespace Barotrauma
{ {
DrawObjectiveIndicator(spriteBatch, cam, character, objectiveEntity, 1.0f); DrawObjectiveIndicator(spriteBatch, cam, character, objectiveEntity, 1.0f);
} }
}
public static void Draw(SpriteBatch spriteBatch, Character character, Camera cam)
{
if (GUI.DisableHUD) return;
character.CharacterHealth.Alignment = Alignment.Right;
foreach (Item brokenItem in brokenItems) foreach (Item brokenItem in brokenItems)
{ {
@@ -292,7 +292,6 @@ namespace Barotrauma
if (!string.IsNullOrWhiteSpace(damageModifier.DamageSound)) if (!string.IsNullOrWhiteSpace(damageModifier.DamageSound))
{ {
damageSoundType = damageModifier.DamageSound; damageSoundType = damageModifier.DamageSound;
SoundPlayer.PlayDamageSound(damageSoundType, Math.Max(damage, bleedingDamage), WorldPosition);
break; break;
} }
} }
@@ -483,7 +483,6 @@ namespace Barotrauma
(int)(GUI.SmallFont.MeasureString(toolTipBlock.WrappedText).Y + padding.Y)); (int)(GUI.SmallFont.MeasureString(toolTipBlock.WrappedText).Y + padding.Y));
toolTipBlock.userData = toolTip; toolTipBlock.userData = toolTip;
} }
toolTipBlock.SetTextPos();
toolTipBlock.RectTransform.AbsoluteOffset = new Point(targetElement.Center.X, targetElement.Bottom); toolTipBlock.RectTransform.AbsoluteOffset = new Point(targetElement.Center.X, targetElement.Bottom);
if (toolTipBlock.Rect.Right > GameMain.GraphicsWidth - 10) if (toolTipBlock.Rect.Right > GameMain.GraphicsWidth - 10)
@@ -564,7 +563,6 @@ namespace Barotrauma
RectTransform.LocalScale = startScale; RectTransform.LocalScale = startScale;
yield return CoroutineStatus.Success; yield return CoroutineStatus.Success;
} }
#endregion
public virtual void ApplyStyle(GUIComponentStyle style) public virtual void ApplyStyle(GUIComponentStyle style)
{ {
@@ -60,7 +60,7 @@ namespace Barotrauma
GUI.Style.Apply(Header, "", this); GUI.Style.Apply(Header, "", this);
Header.RectTransform.MinSize = new Point(0, Header.Rect.Height); Header.RectTransform.MinSize = new Point(0, Header.Rect.Height);
if (height == 0) if (!string.IsNullOrWhiteSpace(text))
{ {
Text = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), Content.RectTransform), Text = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), Content.RectTransform),
text, textAlignment: textAlignment, wrap: true); text, textAlignment: textAlignment, wrap: true);
@@ -75,82 +75,9 @@ namespace Barotrauma
public CrewManager(XElement element, bool isSinglePlayer) public CrewManager(XElement element, bool isSinglePlayer)
: this(isSinglePlayer) : this(isSinglePlayer)
{ {
guiFrame = new GUIFrame(new RectTransform(Vector2.One, GUICanvas.Instance), null, Color.Transparent) foreach (XElement subElement in element.Elements())
{ {
CanBeFocused = false if (subElement.Name.ToString().ToLowerInvariant() != "character") continue;
};
Point scrollButtonSize = new Point((int)(200 * GUI.Scale), (int)(30 * GUI.Scale));
crewArea = new GUIFrame(HUDLayoutSettings.ToRectTransform(HUDLayoutSettings.CrewArea, guiFrame.RectTransform), "", Color.Transparent)
{
CanBeFocused = false
};
toggleCrewButton = new GUIButton(new RectTransform(new Point((int)(30 * GUI.Scale), HUDLayoutSettings.CrewArea.Height), guiFrame.RectTransform)
{ AbsoluteOffset = HUDLayoutSettings.CrewArea.Location },
"", style: "UIToggleButton");
toggleCrewButton.OnClicked += (GUIButton btn, object userdata) =>
{
ToggleCrewAreaOpen = !ToggleCrewAreaOpen;
return true;
};
characterListBox = new GUIListBox(new RectTransform(new Point(100, (int)(crewArea.Rect.Height - scrollButtonSize.Y * 1.6f)), crewArea.RectTransform, Anchor.CenterLeft), false, Color.Transparent, null)
{
//Spacing = (int)(3 * GUI.Scale),
ScrollBarEnabled = false,
ScrollBarVisible = false,
CanBeFocused = false
};
scrollButtonUp = new GUIButton(new RectTransform(scrollButtonSize, crewArea.RectTransform, Anchor.TopLeft, Pivot.TopLeft), "", Alignment.Center, "GUIButtonVerticalArrow")
{
Visible = false,
UserData = -1,
OnClicked = ScrollCharacterList
};
scrollButtonDown = new GUIButton(new RectTransform(scrollButtonSize, crewArea.RectTransform, Anchor.BottomLeft, Pivot.BottomLeft), "", Alignment.Center, "GUIButtonVerticalArrow")
{
Visible = false,
UserData = 1,
OnClicked = ScrollCharacterList
};
scrollButtonDown.Children.ForEach(c => c.SpriteEffects = SpriteEffects.FlipVertically);
if (isSinglePlayer)
{
ChatBox = new ChatBox(guiFrame, isSinglePlayer: true)
{
OnEnterMessage = (textbox, text) =>
{
if (Character.Controlled?.Info == null)
{
textbox.Deselect();
textbox.Text = "";
return true;
}
textbox.TextColor = ChatMessage.MessageColor[(int)ChatMessageType.Default];
if (!string.IsNullOrWhiteSpace(text))
{
string msgCommand = ChatMessage.GetChatMessageCommand(text, out string msg);
AddSinglePlayerChatMessage(
Character.Controlled.Info.Name,
msg,
((msgCommand == "r" || msgCommand == "radio") && ChatMessage.CanUseRadio(Character.Controlled)) ? ChatMessageType.Radio : ChatMessageType.Default,
Character.Controlled);
var headset = GetHeadset(Character.Controlled, true);
if (headset != null && headset.CanTransmit())
{
headset.TransmitSignal(stepsTaken: 0, signal: msg, source: headset.Item, sender: Character.Controlled, sendToChat: false);
}
}
textbox.Deselect();
textbox.Text = "";
return true;
}
};
var characterInfo = new CharacterInfo(subElement); var characterInfo = new CharacterInfo(subElement);
characterInfos.Add(characterInfo); characterInfos.Add(characterInfo);
@@ -312,12 +239,12 @@ namespace Barotrauma
public IEnumerable<Character> GetCharacters() public IEnumerable<Character> GetCharacters()
{ {
return characterListBox.Rect; return characters;
} }
public IEnumerable<CharacterInfo> GetCharacterInfos() public IEnumerable<CharacterInfo> GetCharacterInfos()
{ {
return characterListBox.Rect; return characterInfos;
} }
public void AddCharacter(Character character) public void AddCharacter(Character character)
@@ -692,19 +619,7 @@ namespace Barotrauma
characterListBox.BarScroll = roundedPos; characterListBox.BarScroll = roundedPos;
} }
CreateCharacterFrame(character, characterListBox.Content); return false;
characterListBox.Content.RectTransform.SortChildren((c1, c2) => { return c2.NonScaledSize.X - c1.NonScaledSize.X; });
if (character is AICharacter)
{
var ai = character.AIController as HumanAIController;
if (ai == null)
{
DebugConsole.ThrowError("Error in crewmanager - attempted to give orders to a character with no HumanAIController");
return;
}
character.SetOrder(ai.CurrentOrder, "", null, false);
}
} }
private IEnumerable<object> KillCharacterAnim(GUIComponent component) private IEnumerable<object> KillCharacterAnim(GUIComponent component)
@@ -9,8 +9,6 @@ namespace Barotrauma
{ {
class SinglePlayerCampaign : CampaignMode class SinglePlayerCampaign : CampaignMode
{ {
public ContextualTutorial ContextualTutorial;
private GUIButton endRoundButton; private GUIButton endRoundButton;
private bool crewDead; private bool crewDead;
@@ -41,13 +39,6 @@ namespace Barotrauma
CrewManager.AddCharacterInfo(new CharacterInfo(Character.HumanConfigFile, "", jobPrefab)); CrewManager.AddCharacterInfo(new CharacterInfo(Character.HumanConfigFile, "", jobPrefab));
} }
} }
ContextualTutorial = Tutorial.Tutorials.Find(t => t is ContextualTutorial) as ContextualTutorial;
if (ContextualTutorial.Selected) // Selected when starting a new game -> initialize
{
ContextualTutorial.Initialize();
}
} }
public override void Start() public override void Start()
@@ -157,11 +148,6 @@ namespace Barotrauma
base.AddToGUIUpdateList(); base.AddToGUIUpdateList();
CrewManager.AddToGUIUpdateList(); CrewManager.AddToGUIUpdateList();
endRoundButton.AddToGUIUpdateList(); endRoundButton.AddToGUIUpdateList();
if (ContextualTutorial.Initialized)
{
ContextualTutorial.AddToGUIUpdateList();
}
} }
public override void Update(float deltaTime) public override void Update(float deltaTime)
@@ -306,7 +292,6 @@ namespace Barotrauma
TextManager.Get("QuitButton")); TextManager.Get("QuitButton"));
quitButton.OnClicked += GameMain.LobbyScreen.QuitToMainMenu; quitButton.OnClicked += GameMain.LobbyScreen.QuitToMainMenu;
quitButton.OnClicked += (GUIButton button, object obj) => { GUIMessageBox.MessageBoxes.Remove(GUIMessageBox.VisibleBox); return true; }; quitButton.OnClicked += (GUIButton button, object obj) => { GUIMessageBox.MessageBoxes.Remove(GUIMessageBox.VisibleBox); return true; };
quitButton.OnClicked += (GUIButton button, object obj) => { if (ContextualTutorial.Initialized) ContextualTutorial.Stop(); return true; };
} }
} }
@@ -391,10 +376,6 @@ namespace Barotrauma
case "map": case "map":
campaign.map = Map.LoadNew(subElement); campaign.map = Map.LoadNew(subElement);
break; break;
case "contextualtutorial":
campaign.ContextualTutorial.Initialize(); // Initialize when saved element found
campaign.ContextualTutorial.LoadPartiallyComplete(subElement);
break;
} }
} }
@@ -439,7 +439,6 @@ namespace Barotrauma
QuickUseItem(Items[i], true, false, true); QuickUseItem(Items[i], true, false, true);
} }
} }
}
//force personal slots open if an item is running out of battery/fuel/oxygen/etc //force personal slots open if an item is running out of battery/fuel/oxygen/etc
if (hidePersonalSlots) if (hidePersonalSlots)
@@ -465,7 +464,6 @@ namespace Barotrauma
{ {
UpdateSubInventory(deltaTime, highlightedSubInventorySlot.SlotIndex, cam); UpdateSubInventory(deltaTime, highlightedSubInventorySlot.SlotIndex, cam);
} }
}
Rectangle hoverArea = GetSubInventoryHoverArea(highlightedSubInventorySlot); Rectangle hoverArea = GetSubInventoryHoverArea(highlightedSubInventorySlot);
if (highlightedSubInventorySlot.Inventory?.slots == null || (!hoverArea.Contains(PlayerInput.MousePosition))) if (highlightedSubInventorySlot.Inventory?.slots == null || (!hoverArea.Contains(PlayerInput.MousePosition)))
@@ -403,7 +403,7 @@ namespace Barotrauma.Items.Components
int x = rect.X; int x = rect.X;
int y = rect.Y; int y = rect.Y;
GUI.DrawRectangle(spriteBatch, new Rectangle((int)pos.X - 3 / 2, (int)pos.Y - 3, 6, 6), (SteeringPath.CurrentNode == wp) ? Color.LightGreen : Color.Green, false); if (voltage < minVoltage && currPowerConsumption > 0.0f) return;
Rectangle velRect = new Rectangle(x + 20, y + 20, width - 40, height - 40); Rectangle velRect = new Rectangle(x + 20, y + 20, width - 40, height - 40);
Vector2 displaySubPos = (-sonar.DisplayOffset * sonar.Zoom) / sonar.Range * sonar.DisplayRadius * sonar.Zoom; Vector2 displaySubPos = (-sonar.DisplayOffset * sonar.Zoom) / sonar.Range * sonar.DisplayRadius * sonar.Zoom;
@@ -549,6 +549,7 @@ namespace Barotrauma.Items.Components
Color.Lerp(Color.Green, Color.Orange, obstacle.Dot), width: 2); Color.Lerp(Color.Green, Color.Orange, obstacle.Dot), width: 2);
} }
} }
}
public override void UpdateHUD(Character character, float deltaTime, Camera cam) public override void UpdateHUD(Character character, float deltaTime, Camera cam)
{ {
@@ -271,7 +271,7 @@ namespace Barotrauma.Items.Components
} }
} }
} }
} }
if (highlighted != null) if (highlighted != null)
{ {
@@ -41,33 +41,6 @@ namespace Barotrauma
{ {
get { return activeSprite; } get { return activeSprite; }
} }
public float SpriteRotation;
private GUITextBlock itemInUseWarning;
private GUITextBlock ItemInUseWarning
{
get
{
if (itemInUseWarning == null)
{
itemInUseWarning = new GUITextBlock(new RectTransform(new Point(10), GUI.Canvas), "",
textColor: Color.Orange, color: Color.Black,
textAlignment:Alignment.Center, style: "OuterGlow");
}
return itemInUseWarning;
}
}
public override bool SelectableInEditor
{
get
{
return parentInventory == null && (body == null || body.Enabled) && ShowItems;
}
}
public float SpriteRotation;
private GUITextBlock itemInUseWarning; private GUITextBlock itemInUseWarning;
private GUITextBlock ItemInUseWarning private GUITextBlock ItemInUseWarning
@@ -562,20 +562,6 @@ namespace Barotrauma
null, connectionColor * MathHelper.Clamp(a, 0.1f, 0.5f), MathUtils.VectorToAngle(end - start), null, connectionColor * MathHelper.Clamp(a, 0.1f, 0.5f), MathUtils.VectorToAngle(end - start),
new Vector2(0, 16), SpriteEffects.None, 0.01f); new Vector2(0, 16), SpriteEffects.None, 0.01f);
} }
}
rect.Inflate(8, 8);
GUI.DrawRectangle(spriteBatch, rect, Color.Black, false, 0.0f, 8);
GUI.DrawRectangle(spriteBatch, rect, Color.LightGray);
for (int i = 0; i < Locations.Count; i++)
{
Location location = Locations[i];
Vector2 pos = rectCenter + (location.MapPosition + viewOffset) * zoom;
Rectangle drawRect = location.Type.Sprite.SourceRect;
drawRect.X = (int)pos.X - drawRect.Width / 2;
drawRect.Y = (int)pos.Y - drawRect.Width / 2;
if (GameMain.DebugDraw && zoom > 1.0f && generationParams.ShowLevelTypeNames) if (GameMain.DebugDraw && zoom > 1.0f && generationParams.ShowLevelTypeNames)
{ {
@@ -16,779 +16,6 @@ namespace Barotrauma
private GUIListBox saveList; private GUIListBox saveList;
private GUITextBox saveNameBox, seedBox; private GUITextBox saveNameBox, seedBox;
private GUITickBox contextualTutorialBox;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer; private GUILayoutGroup subPreviewContainer;
@@ -796,14 +23,6 @@ namespace Barotrauma
public Action<Submarine, string, string> StartNewGame; public Action<Submarine, string, string> StartNewGame;
public Action<string> LoadGame; public Action<string> LoadGame;
public bool TutorialSelected
{
get
{
if (contextualTutorialBox == null) return false;
return contextualTutorialBox.Selected;
}
}
private readonly bool isMultiplayer; private readonly bool isMultiplayer;
@@ -131,9 +131,6 @@ namespace Barotrauma
{ {
GameMain.Instance.ShowEditorDisclaimer(); GameMain.Instance.ShowEditorDisclaimer();
} }
OpenDoors();
GameMain.Instance.OnResolutionChanged += OnResolutionChanged;
instance = this;
} }
private void ResetVariables() private void ResetVariables()
@@ -4,7 +4,6 @@ using Barotrauma.Tutorials;
using Lidgren.Network; using Lidgren.Network;
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@@ -779,8 +778,6 @@ namespace Barotrauma
GUI.Draw(Cam, spriteBatch); GUI.Draw(Cam, spriteBatch);
GUI.Draw(Cam, spriteBatch);
#if DEBUG #if DEBUG
GUI.Font.DrawString(spriteBatch, "Barotrauma v" + GameMain.Version + " (debug build)", new Vector2(10, GameMain.GraphicsHeight - 20), Color.White); GUI.Font.DrawString(spriteBatch, "Barotrauma v" + GameMain.Version + " (debug build)", new Vector2(10, GameMain.GraphicsHeight - 20), Color.White);
#else #else
@@ -859,7 +856,6 @@ namespace Barotrauma
GameModePreset.List.Find(g => g.Identifier == "singleplayercampaign")); GameModePreset.List.Find(g => g.Identifier == "singleplayercampaign"));
(GameMain.GameSession.GameMode as CampaignMode).GenerateMap(mapSeed); (GameMain.GameSession.GameMode as CampaignMode).GenerateMap(mapSeed);
GameMain.LobbyScreen.Select(); GameMain.LobbyScreen.Select();
} }
@@ -1205,7 +1205,6 @@ namespace Barotrauma
AbsoluteSpacing = 5, AbsoluteSpacing = 5,
Stretch = true Stretch = true
}; };
#endif
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), paddedSaveFrame.RectTransform), new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), paddedSaveFrame.RectTransform),
TextManager.Get("SaveItemAssemblyDialogHeader"), font: GUI.LargeFont); TextManager.Get("SaveItemAssemblyDialogHeader"), font: GUI.LargeFont);
@@ -162,31 +162,6 @@ namespace Barotrauma
} }
} }
/// <summary>
/// Returns the file paths of all files of the given type in the content packages.
/// </summary>
/// <param name="type"></param>
/// <param name="searchAllContentPackages">If true, also returns files in content packages that are installed but not currently selected.</param>
public IEnumerable<string> GetFilesOfType(ContentType type, bool searchAllContentPackages = false)
{
if (searchAllContentPackages)
{
return ContentPackage.GetFilesOfType(ContentPackage.List, type);
}
else
{
return ContentPackage.GetFilesOfType(SelectedPackages, type);
}
}
/// <summary>
/// Returns the file paths of all files of the given type in the currently selected content packages.
/// </summary>
public IEnumerable<string> GetFilesOfType(ContentType type)
{
return ContentPackage.GetFilesOfType(SelectedPackages, type);
}
public void StartServer() public void StartServer()
{ {
string name = "Server"; string name = "Server";
@@ -797,7 +797,6 @@ namespace Barotrauma
{ {
UpdateLimbAttack(deltaTime, AttackingLimb, attackSimPos, distance); UpdateLimbAttack(deltaTime, AttackingLimb, attackSimPos, distance);
} }
return false;
} }
public bool IsSteeringThroughGap { get; private set; } public bool IsSteeringThroughGap { get; private set; }
@@ -277,11 +277,6 @@ namespace Barotrauma
{ {
Character.AnimController.TargetDir = Character.AnimController.TargetMovement.X > 0.0f ? Direction.Right : Direction.Left; Character.AnimController.TargetDir = Character.AnimController.TargetMovement.X > 0.0f ? Direction.Right : Direction.Left;
} }
if (Character.CurrentHull != null)
{
Character.GetVisibleHulls().ForEach(h => PropagateHullSafety(Character.Controlled, h));
}
} }
protected void ReportProblems() protected void ReportProblems()
@@ -304,24 +304,7 @@ namespace Barotrauma
float targetDistance = collider.radius * margin; float targetDistance = collider.radius * margin;
if (horizontalDistance < targetDistance && isAboveFeet && isNotTooHigh) if (horizontalDistance < targetDistance && isAboveFeet && isNotTooHigh)
{ {
float multiplierX = MathHelper.Lerp(1, 10, MathHelper.Clamp(Math.Abs(velocity.X) / 10, 0, 1)); currentPath.SkipToNextNode();
float multiplierY = MathHelper.Lerp(1, 10, MathHelper.Clamp(Math.Abs(velocity.Y) / 10, 0, 1));
float verticalDistance = Math.Abs(colliderBottom.Y - currentPath.CurrentNode.SimPosition.Y);
float targetDistX = collider.radius * multiplierX;
float targetDistY = collider.radius * multiplierY;
if (horizontalDistance < targetDistX && verticalDistance < targetDistY && isAboveFeet && isNotTooHigh)
{
currentPath.SkipToNextNode();
}
}
else
{
float margin = MathHelper.Lerp(1, 10, MathHelper.Clamp(Math.Abs(velocity.X) / 10, 0, 1));
float targetDistance = collider.radius * margin;
if (horizontalDistance < targetDistance && isAboveFeet && isNotTooHigh)
{
currentPath.SkipToNextNode();
}
} }
} }
@@ -92,7 +92,6 @@ namespace Barotrauma
} }
} }
bool wasCompleted = IsCompleted();
Act(deltaTime); Act(deltaTime);
if (IsCompleted()) if (IsCompleted())
{ {
@@ -279,7 +279,6 @@ namespace Barotrauma
Weapon.Drop(character); Weapon.Drop(character);
} }
} }
return true;
} }
private bool Equip() private bool Equip()
@@ -20,7 +20,6 @@ namespace Barotrauma
public readonly string[] itemIdentifiers; public readonly string[] itemIdentifiers;
public readonly ItemContainer container; public readonly ItemContainer container;
private bool isCompleted;
private AIObjectiveGetItem getItemObjective; private AIObjectiveGetItem getItemObjective;
private AIObjectiveGoTo goToObjective; private AIObjectiveGoTo goToObjective;
@@ -49,9 +49,7 @@ namespace Barotrauma
return new AIObjectiveGetItem(character, gearTag, objectiveManager, equip: true); return new AIObjectiveGetItem(character, gearTag, objectiveManager, equip: true);
}); });
} }
if (getDivingGear != null) { return; } else
var containedItems = item.ContainedItems;
if (containedItems == null)
{ {
var containedItems = item.ContainedItems; var containedItems = item.ContainedItems;
if (containedItems == null) if (containedItems == null)
@@ -2,7 +2,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Barotrauma.Extensions;
namespace Barotrauma namespace Barotrauma
{ {
@@ -89,11 +89,6 @@ namespace Barotrauma
TryAddSubObjective(ref refuelObjective, () => new AIObjectiveContainItem(character, "weldingfueltank", weldingTool.GetComponent<ItemContainer>(), objectiveManager)); TryAddSubObjective(ref refuelObjective, () => new AIObjectiveContainItem(character, "weldingfueltank", weldingTool.GetComponent<ItemContainer>(), objectiveManager));
return; return;
} }
else if (character.Inventory.IsInLimbSlot(repairTool.Item, InvSlotType.LeftHand))
{
sightLimb = character.AnimController.GetLimb(LimbType.LeftHand);
}
canReach = character.CanSeeTarget(leak, sightLimb);
} }
if (subObjectives.Any()) { return; } if (subObjectives.Any()) { return; }
var repairTool = weldingTool.GetComponent<RepairTool>(); var repairTool = weldingTool.GetComponent<RepairTool>();
@@ -74,44 +74,6 @@ namespace Barotrauma
} }
} }
public override void Update(float deltaTime)
{
if (objectiveManager.CurrentObjective == this)
{
if (randomTimer > 0)
{
randomTimer -= deltaTime;
}
else
{
SetRandom();
}
}
}
public override void Update(float deltaTime)
{
if (objectiveManager.CurrentObjective == this)
{
if (randomTimer > 0)
{
randomTimer -= deltaTime;
}
else
{
SetRandom();
}
}
}
public override bool IsCompleted() => false;
public override bool CanBeCompleted => true;
public override bool IsLoop { get => true; set => throw new System.Exception("Trying to set the value for IsLoop from: " + System.Environment.StackTrace); }
// TODO: take the initiative into account
public override float GetPriority() => 1;
protected override void Act(float deltaTime) protected override void Act(float deltaTime)
{ {
if (PathSteering == null) { return; } if (PathSteering == null) { return; }
@@ -3,7 +3,6 @@ using Microsoft.Xna.Framework;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Barotrauma.Extensions;
namespace Barotrauma namespace Barotrauma
{ {
@@ -71,915 +70,7 @@ namespace Barotrauma
{ {
if (character.SelectedConstruction != target.Item) if (character.SelectedConstruction != target.Item)
{ {
isCompleted = true; target.Item.TryInteract(character, false, true);
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
} }
if (component.AIOperate(deltaTime, character, this)) if (component.AIOperate(deltaTime, character, this))
{ {
@@ -1,6 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Barotrauma.Extensions;
namespace Barotrauma namespace Barotrauma
{ {
@@ -733,8 +733,6 @@ namespace Barotrauma
limb.body.ApplyForce(diff * (float)(Math.Sin(WalkPos) * Math.Sqrt(limb.Mass)) * 30.0f * animStrength, maxVelocity: 10.0f); limb.body.ApplyForce(diff * (float)(Math.Sin(WalkPos) * Math.Sqrt(limb.Mass)) * 30.0f * animStrength, maxVelocity: 10.0f);
} }
limb?.body.SmoothRotate(angle, torque, wrapAngle: false);
} }
private void SmoothRotateWithoutWrapping(Limb limb, float angle, Limb referenceLimb, float torque) private void SmoothRotateWithoutWrapping(Limb limb, float angle, Limb referenceLimb, float torque)
@@ -1147,7 +1147,7 @@ namespace Barotrauma
if (!(this is AICharacter) || Controlled == this || IsRemotePlayer) if (!(this is AICharacter) || Controlled == this || IsRemotePlayer)
{ {
if (speedMultipliers.Count == 0) return 1f; Vector2 targetMovement = GetTargetMovement();
AnimController.TargetMovement = targetMovement; AnimController.TargetMovement = targetMovement;
AnimController.IgnorePlatforms = AnimController.TargetMovement.Y < -0.1f; AnimController.IgnorePlatforms = AnimController.TargetMovement.Y < -0.1f;
@@ -29,7 +29,7 @@ namespace Barotrauma
monsterFile = prefab.ConfigElement.GetAttributeString("monsterfile", ""); monsterFile = prefab.ConfigElement.GetAttributeString("monsterfile", "");
monsterCount = prefab.ConfigElement.GetAttributeInt("monstercount", 1); monsterCount = prefab.ConfigElement.GetAttributeInt("monstercount", 1);
} }
public override void Start(Level level) public override void Start(Level level)
{ {
Level.Loaded.TryGetInterestingPosition(true, Level.PositionType.MainPath, Level.Loaded.Size.X * 0.3f, out Vector2 spawnPos); Level.Loaded.TryGetInterestingPosition(true, Level.PositionType.MainPath, Level.Loaded.Size.X * 0.3f, out Vector2 spawnPos);
@@ -922,83 +922,6 @@ namespace Barotrauma
foreach (XElement subElement in doc.Root.Elements()) foreach (XElement subElement in doc.Root.Elements())
{ {
switch (subElement.Name.ToString().ToLowerInvariant()) switch (subElement.Name.ToString().ToLowerInvariant())
{
case "keymapping":
foreach (XAttribute attribute in subElement.Attributes())
{
if (Enum.TryParse(attribute.Name.ToString(), true, out InputType inputType))
{
if (int.TryParse(attribute.Value.ToString(), out int mouseButton))
{
keyMapping[(int)inputType] = new KeyOrMouse(mouseButton);
}
else
{
if (Enum.TryParse(attribute.Value.ToString(), true, out Keys key))
{
keyMapping[(int)inputType] = new KeyOrMouse(key);
}
}
}
}
break;
case "gameplay":
jobPreferences = new List<string>();
foreach (XElement ele in subElement.Element("jobpreferences").Elements("job"))
{
string jobIdentifier = ele.GetAttributeString("identifier", "");
if (string.IsNullOrEmpty(jobIdentifier)) continue;
jobPreferences.Add(jobIdentifier);
}
break;
case "player":
defaultPlayerName = subElement.GetAttributeString("name", defaultPlayerName);
CharacterHeadIndex = subElement.GetAttributeInt("headindex", CharacterHeadIndex);
if (Enum.TryParse(subElement.GetAttributeString("gender", "none"), true, out Gender g))
{
CharacterGender = g;
}
if (Enum.TryParse(subElement.GetAttributeString("race", "white"), true, out Race r))
{
CharacterRace = r;
}
else
{
CharacterRace = Race.White;
}
CharacterHairIndex = subElement.GetAttributeInt("hairindex", CharacterHairIndex);
CharacterBeardIndex = subElement.GetAttributeInt("beardindex", CharacterBeardIndex);
CharacterMoustacheIndex = subElement.GetAttributeInt("moustacheindex", CharacterMoustacheIndex);
CharacterFaceAttachmentIndex = subElement.GetAttributeInt("faceattachmentindex", CharacterFaceAttachmentIndex);
break;
case "tutorials":
foreach (XElement tutorialElement in subElement.Elements())
{
CompletedTutorialNames.Add(tutorialElement.GetAttributeString("name", ""));
}
break;
}
}
UnsavedSettings = false;
selectedContentPackagePaths = new HashSet<string>();
foreach (XElement subElement in doc.Root.Elements())
{
DebugConsole.ThrowError(TextManager.Get("ContentPackageNotFound").Replace("[packagepath]", missingPackagePath));
}
foreach (ContentPackage incompatiblePackage in incompatiblePackages)
{
DebugConsole.ThrowError(TextManager.Get(incompatiblePackage.GameVersion <= new Version(0, 0, 0, 0) ? "IncompatibleContentPackageUnknownVersion" : "IncompatibleContentPackage")
.Replace("[packagename]", incompatiblePackage.Name)
.Replace("[packageversion]", incompatiblePackage.GameVersion.ToString())
.Replace("[gameversion]", GameMain.Version.ToString()));
}
foreach (ContentPackage contentPackage in SelectedContentPackages)
{
bool packageOk = contentPackage.VerifyFiles(out List<string> errorMessages);
if (!packageOk)
{ {
case "contentpackage": case "contentpackage":
string path = System.IO.Path.GetFullPath(subElement.GetAttributeString("path", "")); string path = System.IO.Path.GetFullPath(subElement.GetAttributeString("path", ""));
@@ -1112,7 +1035,6 @@ namespace Barotrauma
new XAttribute("autocheckupdates", AutoCheckUpdates), new XAttribute("autocheckupdates", AutoCheckUpdates),
new XAttribute("musicvolume", musicVolume), new XAttribute("musicvolume", musicVolume),
new XAttribute("soundvolume", soundVolume), new XAttribute("soundvolume", soundVolume),
new XAttribute("voicechatvolume", voiceChatVolume),
new XAttribute("verboselogging", VerboseLogging), new XAttribute("verboselogging", VerboseLogging),
new XAttribute("savedebugconsolelogs", SaveDebugConsoleLogs), new XAttribute("savedebugconsolelogs", SaveDebugConsoleLogs),
new XAttribute("enablesplashscreen", EnableSplashScreen), new XAttribute("enablesplashscreen", EnableSplashScreen),
@@ -1139,6 +1061,7 @@ namespace Barotrauma
gMode = new XElement("graphicsmode"); gMode = new XElement("graphicsmode");
doc.Root.Add(gMode); doc.Root.Add(gMode);
} }
if (GraphicsWidth == 0 || GraphicsHeight == 0) if (GraphicsWidth == 0 || GraphicsHeight == 0)
{ {
gMode.ReplaceAttributes(new XAttribute("displaymode", windowMode)); gMode.ReplaceAttributes(new XAttribute("displaymode", windowMode));
@@ -125,945 +125,6 @@ namespace Barotrauma.Items.Components
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true); outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
} }
} }
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
if (inputContainer.Inventory.Items.Any(i => i != null)) if (inputContainer.Inventory.Items.Any(i => i != null))
{ {
@@ -79,39 +79,10 @@ namespace Barotrauma.Items.Components
+" Can be used to compensate if the ballast tanks are too large/small relative to the size of the submarine."), Serialize(0.5f, true)] +" Can be used to compensate if the ballast tanks are too large/small relative to the size of the submarine."), Serialize(0.5f, true)]
public float NeutralBallastLevel public float NeutralBallastLevel
{ {
if (!CanBeSelected) return false; get { return neutralBallastLevel; }
user = character;
return true;
}
[Serialize(1000.0f, true)]
public float DockingAssistThreshold
{
get;
set;
}
[Serialize(1000.0f, true)]
public float DockingAssistThreshold
{
get;
set;
}
public Vector2 TargetVelocity
{
sonar = item.GetComponent<Sonar>();
}
public Vector2 SteeringInput
{
get { return steeringInput; }
set set
{ {
if (!MathUtils.IsValid(value)) return; neutralBallastLevel = MathHelper.Clamp(value, 0.0f, 1.0f);
steeringInput.X = MathHelper.Clamp(value.X, -100.0f, 100.0f);
steeringInput.Y = MathHelper.Clamp(value.Y, -100.0f, 100.0f);
} }
} }
@@ -124,12 +95,12 @@ namespace Barotrauma.Items.Components
public Vector2 TargetVelocity public Vector2 TargetVelocity
{ {
get { return steeringInput; } get { return targetVelocity;}
set set
{ {
if (!MathUtils.IsValid(value)) return; if (!MathUtils.IsValid(value)) return;
steeringInput.X = MathHelper.Clamp(value.X, -100.0f, 100.0f); targetVelocity.X = MathHelper.Clamp(value.X, -100.0f, 100.0f);
steeringInput.Y = MathHelper.Clamp(value.Y, -100.0f, 100.0f); targetVelocity.Y = MathHelper.Clamp(value.Y, -100.0f, 100.0f);
} }
} }
@@ -146,22 +117,7 @@ namespace Barotrauma.Items.Components
public SteeringPath SteeringPath public SteeringPath SteeringPath
{ {
if (!CanBeSelected) return false; get { return steeringPath; }
user = character;
return true;
}
public Vector2? PosToMaintain
{
get { return posToMaintain; }
set { posToMaintain = value; }
}
public Vector2? PosToMaintain
{
get { return posToMaintain; }
set { posToMaintain = value; }
} }
public Vector2? PosToMaintain public Vector2? PosToMaintain
@@ -1130,13 +1130,8 @@ namespace Barotrauma
if (body == null || !body.Enabled || !inWater || ParentInventory != null || Removed) { return; } if (body == null || !body.Enabled || !inWater || ParentInventory != null || Removed) { return; }
if (Math.Abs(body.LinearVelocity.X) > NetConfig.MaxPhysicsBodyVelocity || ApplyWaterForces();
Math.Abs(body.LinearVelocity.Y) > NetConfig.MaxPhysicsBodyVelocity) CurrentHull?.ApplyFlowForces(deltaTime, this);
{
body.LinearVelocity = new Vector2(
MathHelper.Clamp(body.LinearVelocity.X, -NetConfig.MaxPhysicsBodyVelocity, NetConfig.MaxPhysicsBodyVelocity),
MathHelper.Clamp(body.LinearVelocity.Y, -NetConfig.MaxPhysicsBodyVelocity, NetConfig.MaxPhysicsBodyVelocity));
}
} }
public void UpdateTransform() public void UpdateTransform()
@@ -131,7 +131,7 @@ namespace Barotrauma
//default size //default size
protected Vector2 size; protected Vector2 size;
private List<XElement> fabricationRecipeElements = new List<XElement>(); private float impactTolerance;
private bool canSpriteFlipX, canSpriteFlipY; private bool canSpriteFlipX, canSpriteFlipY;
@@ -474,12 +474,6 @@ namespace Barotrauma
DeconstructItems = new List<DeconstructItem>(); DeconstructItems = new List<DeconstructItem>();
FabricationRecipes = new List<FabricationRecipe>(); FabricationRecipes = new List<FabricationRecipe>();
DeconstructTime = 1.0f; DeconstructTime = 1.0f;
Tags = element.GetAttributeStringArray("tags", new string[0], convertToLowerInvariant: true).ToHashSet();
if (Tags.None())
{
Tags = element.GetAttributeStringArray("Tags", new string[0], convertToLowerInvariant: true).ToHashSet();
}
Tags = new HashSet<string>(element.GetAttributeStringArray("tags", new string[0], convertToLowerInvariant: true)); Tags = new HashSet<string>(element.GetAttributeStringArray("tags", new string[0], convertToLowerInvariant: true));
if (!Tags.Any()) if (!Tags.Any())
+7 -417
View File
@@ -33,43 +33,18 @@ namespace Barotrauma
public readonly Dictionary<string, SerializableProperty> properties; public readonly Dictionary<string, SerializableProperty> properties;
public Dictionary<string, SerializableProperty> SerializableProperties public Dictionary<string, SerializableProperty> SerializableProperties
{ {
get { return roomName; } get { return properties; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
} }
public string DisplayName private float lethalPressure;
{
get;
private set;
}
private float surface, drawSurface; private float surface, drawSurface;
private float waterVolume; private float waterVolume;
private float pressure; private float pressure;
public string DisplayName private float oxygen;
{
get;
private set;
}
private string roomName; private bool update;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public bool Visible = true; public bool Visible = true;
@@ -81,396 +56,11 @@ namespace Barotrauma
public readonly List<Gap> ConnectedGaps = new List<Gap>(); public readonly List<Gap> ConnectedGaps = new List<Gap>();
private string roomName; public override string Name
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{ {
get { return roomName; } get
set
{ {
if (roomName == value) { return; } return "Hull";
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
} }
} }
@@ -1433,7 +1433,7 @@ namespace Barotrauma
doc.Root.Add(new XAttribute("md5hash", hash.Hash)); doc.Root.Add(new XAttribute("md5hash", hash.Hash));
if (previewImage != null) if (previewImage != null)
{ {
//doc.Root.Add(new XAttribute("previewimage", Convert.ToBase64String(previewImage.ToArray()))); doc.Root.Add(new XAttribute("previewimage", Convert.ToBase64String(previewImage.ToArray())));
} }
try try
Binary file not shown.
Binary file not shown.
Binary file not shown.