(372c6e60a) More automatic text scaling + merge fix
This commit is contained in:
@@ -108,61 +108,6 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//unconscious/dead characters can't correct their position using AnimController movement
|
|
||||||
// -> we need to correct it manually
|
|
||||||
if (!character.AllowInput)
|
|
||||||
{
|
|
||||||
float mainLimbDistSqrd = Vector2.DistanceSquared(MainLimb.PullJointWorldAnchorA, Collider.SimPosition);
|
|
||||||
float mainLimbErrorTolerance = 0.1f;
|
|
||||||
//if the main limb is roughly at the correct position and the collider isn't moving (much at least),
|
|
||||||
//don't attempt to correct the position.
|
|
||||||
if (mainLimbDistSqrd > mainLimbErrorTolerance || Collider.LinearVelocity.LengthSquared() > 0.05f)
|
|
||||||
{
|
|
||||||
MainLimb.PullJointWorldAnchorB = Collider.SimPosition;
|
|
||||||
MainLimb.PullJointEnabled = true;
|
|
||||||
}
|
|
||||||
character.SelectedConstruction = character.MemState[0].SelectedItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (character.MemState[0].Animation == AnimController.Animation.CPR)
|
|
||||||
{
|
|
||||||
character.AnimController.Anim = AnimController.Animation.CPR;
|
|
||||||
}
|
|
||||||
else if (character.AnimController.Anim == AnimController.Animation.CPR)
|
|
||||||
{
|
|
||||||
character.AnimController.Anim = AnimController.Animation.None;
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector2 newVelocity = Collider.LinearVelocity;
|
|
||||||
Vector2 newPosition = Collider.SimPosition;
|
|
||||||
float newRotation = Collider.Rotation;
|
|
||||||
float newAngularVelocity = Collider.AngularVelocity;
|
|
||||||
Collider.CorrectPosition(character.MemState, out newPosition, out newVelocity, out newRotation, out newAngularVelocity);
|
|
||||||
|
|
||||||
newVelocity = newVelocity.ClampLength(100.0f);
|
|
||||||
if (!MathUtils.IsValid(newVelocity)) { newVelocity = Vector2.Zero; }
|
|
||||||
overrideTargetMovement = newVelocity.LengthSquared() > 0.01f ? newVelocity : Vector2.Zero;
|
|
||||||
|
|
||||||
Collider.LinearVelocity = newVelocity;
|
|
||||||
Collider.AngularVelocity = newAngularVelocity;
|
|
||||||
|
|
||||||
float distSqrd = Vector2.DistanceSquared(newPosition, Collider.SimPosition);
|
|
||||||
float errorTolerance = character.AllowInput ? 0.01f : 0.2f;
|
|
||||||
if (distSqrd > errorTolerance)
|
|
||||||
{
|
|
||||||
if (distSqrd > 10.0f || !character.AllowInput)
|
|
||||||
{
|
|
||||||
Collider.TargetRotation = newRotation;
|
|
||||||
SetPosition(newPosition, lerp: distSqrd < 5.0f, ignorePlatforms: false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Collider.TargetRotation = newRotation;
|
|
||||||
Collider.TargetPosition = newPosition;
|
|
||||||
Collider.MoveToTargetPosition(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//unconscious/dead characters can't correct their position using AnimController movement
|
//unconscious/dead characters can't correct their position using AnimController movement
|
||||||
// -> we need to correct it manually
|
// -> we need to correct it manually
|
||||||
if (!character.AllowInput)
|
if (!character.AllowInput)
|
||||||
@@ -204,35 +149,6 @@ namespace Barotrauma
|
|||||||
character.MemLocalState[i].TransformOutToInside(currentHull.Submarine);
|
character.MemLocalState[i].TransformOutToInside(currentHull.Submarine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
character.MemLocalState.Clear();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//remove states with a timestamp (there may still timestamp-based states
|
|
||||||
//in the list if the controlled character switches from timestamp-based interpolation to ID-based)
|
|
||||||
character.MemState.RemoveAll(m => m.Timestamp > 0.0f);
|
|
||||||
|
|
||||||
for (int i = 0; i < character.MemLocalState.Count; i++)
|
|
||||||
{
|
|
||||||
if (character.Submarine == null)
|
|
||||||
{
|
|
||||||
//transform in-sub coordinates to outside coordinates
|
|
||||||
if (character.MemLocalState[i].Position.Y > lowestSubPos)
|
|
||||||
{
|
|
||||||
character.MemLocalState[i].TransformInToOutside();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (currentHull?.Submarine != null)
|
|
||||||
{
|
|
||||||
//transform outside coordinates to in-sub coordinates
|
|
||||||
if (character.MemLocalState[i].Position.Y < lowestSubPos)
|
|
||||||
{
|
|
||||||
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)
|
||||||
|
|||||||
@@ -484,7 +484,6 @@ namespace Barotrauma
|
|||||||
toolTipBlock.WrappedText.Split('\n').Length * 18 + 7);
|
toolTipBlock.WrappedText.Split('\n').Length * 18 + 7);
|
||||||
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)
|
||||||
@@ -565,7 +564,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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -74,17 +74,9 @@ namespace Barotrauma
|
|||||||
public CrewManager(XElement element, bool isSinglePlayer)
|
public CrewManager(XElement element, bool isSinglePlayer)
|
||||||
: this(isSinglePlayer)
|
: this(isSinglePlayer)
|
||||||
{
|
{
|
||||||
if (GameMain.Client != null)
|
foreach (XElement subElement in element.Elements())
|
||||||
{
|
{
|
||||||
//let the server create random conversations in MP
|
if (subElement.Name.ToString().ToLowerInvariant() != "character") continue;
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<Character> availableSpeakers = Character.CharacterList.FindAll(c =>
|
|
||||||
c.AIController is HumanAIController &&
|
|
||||||
!c.IsDead &&
|
|
||||||
c.SpeechImpediment <= 100.0f);
|
|
||||||
pendingConversationLines.AddRange(NPCConversation.CreateRandom(availableSpeakers));
|
|
||||||
}
|
|
||||||
|
|
||||||
var characterInfo = new CharacterInfo(subElement);
|
var characterInfo = new CharacterInfo(subElement);
|
||||||
characterInfos.Add(characterInfo);
|
characterInfos.Add(characterInfo);
|
||||||
@@ -242,24 +234,12 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public IEnumerable<Character> GetCharacters()
|
public IEnumerable<Character> GetCharacters()
|
||||||
{
|
{
|
||||||
if (characterInfos.Contains(characterInfo))
|
return characters;
|
||||||
{
|
|
||||||
DebugConsole.ThrowError("Tried to add the same character info to CrewManager twice.\n" + Environment.StackTrace);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
characterInfos.Add(characterInfo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<CharacterInfo> GetCharacterInfos()
|
public IEnumerable<CharacterInfo> GetCharacterInfos()
|
||||||
{
|
{
|
||||||
if (character == null)
|
return characterInfos;
|
||||||
{
|
|
||||||
DebugConsole.ThrowError("Tried to remove a null character from CrewManager.\n" + Environment.StackTrace);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
characters.Remove(character);
|
|
||||||
if (removeInfo) characterInfos.Remove(character.Info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddCharacter(Character character)
|
public void AddCharacter(Character character)
|
||||||
@@ -633,183 +613,8 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
characterListBox.BarScroll = roundedPos;
|
characterListBox.BarScroll = roundedPos;
|
||||||
}
|
}
|
||||||
var characterArea = new GUIButton(new RectTransform(new Point(characterInfoWidth, frame.Rect.Height), frame.RectTransform, Anchor.CenterLeft), style: "GUITextBox")
|
|
||||||
{
|
|
||||||
UserData = character,
|
|
||||||
Color = frame.Color,
|
|
||||||
SelectedColor = frame.SelectedColor,
|
|
||||||
HoverColor = frame.HoverColor,
|
|
||||||
ToolTip = characterToolTip
|
|
||||||
};
|
|
||||||
|
|
||||||
var soundIcon = new GUIImage(new RectTransform(new Point((int)(characterArea.Rect.Height * 0.5f)), characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) },
|
return false;
|
||||||
"GUISoundIcon")
|
|
||||||
{
|
|
||||||
UserData = "soundicon",
|
|
||||||
CanBeFocused = false,
|
|
||||||
Visible = true
|
|
||||||
};
|
|
||||||
soundIcon.Color = new Color(soundIcon.Color, 0.0f);
|
|
||||||
new GUIImage(new RectTransform(new Point((int)(characterArea.Rect.Height * 0.5f)), characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) },
|
|
||||||
"GUISoundIconDisabled")
|
|
||||||
{
|
|
||||||
UserData = "soundicondisabled",
|
|
||||||
CanBeFocused = true,
|
|
||||||
Visible = false
|
|
||||||
};
|
|
||||||
|
|
||||||
if (isSinglePlayer)
|
|
||||||
{
|
|
||||||
characterArea.OnClicked = CharacterClicked;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
characterArea.CanBeFocused = false;
|
|
||||||
characterArea.CanBeSelected = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var characterImage = new GUICustomComponent(new RectTransform(new Point(characterArea.Rect.Height), characterArea.RectTransform, Anchor.CenterLeft),
|
|
||||||
onDraw: (sb, component) => character.Info.DrawIcon(sb, component.Rect.Center.ToVector2(), targetAreaSize: component.Rect.Size.ToVector2()))
|
|
||||||
{
|
|
||||||
CanBeFocused = false,
|
|
||||||
HoverColor = Color.White,
|
|
||||||
SelectedColor = Color.White,
|
|
||||||
ToolTip = characterToolTip
|
|
||||||
};
|
|
||||||
|
|
||||||
var characterName = new GUITextBlock(new RectTransform(new Point(characterArea.Rect.Width - characterImage.Rect.Width - soundIcon.Rect.Width - 10, characterArea.Rect.Height),
|
|
||||||
characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(soundIcon.Rect.Width + 10, 0) },
|
|
||||||
character.Name, textColor: frame.Color, font: GUI.SmallFont, wrap: true)
|
|
||||||
{
|
|
||||||
Color = frame.Color,
|
|
||||||
HoverColor = Color.Transparent,
|
|
||||||
SelectedColor = Color.Transparent,
|
|
||||||
CanBeFocused = false,
|
|
||||||
ToolTip = characterToolTip,
|
|
||||||
AutoScale = true
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------- order buttons ----------------
|
|
||||||
|
|
||||||
var orderButtonFrame = new GUILayoutGroup(new RectTransform(new Point(100, frame.Rect.Height), frame.RectTransform)
|
|
||||||
{ AbsoluteOffset = new Point(characterInfoWidth + spacing, 0) },
|
|
||||||
isHorizontal: true, childAnchor: Anchor.CenterLeft)
|
|
||||||
{
|
|
||||||
AbsoluteSpacing = (int)(10 * GUI.Scale),
|
|
||||||
UserData = "orderbuttons",
|
|
||||||
CanBeFocused = false
|
|
||||||
};
|
|
||||||
|
|
||||||
//listbox for holding the orders inappropriate for this character
|
|
||||||
//(so we can easily toggle their visibility)
|
|
||||||
var wrongOrderList = new GUIListBox(new RectTransform(new Point(50, orderButtonFrame.Rect.Height), orderButtonFrame.RectTransform), isHorizontal: true, style: null)
|
|
||||||
{
|
|
||||||
ScrollBarEnabled = false,
|
|
||||||
ScrollBarVisible = false,
|
|
||||||
Enabled = false,
|
|
||||||
Spacing = spacing,
|
|
||||||
ClampMouseRectToParent = false
|
|
||||||
};
|
|
||||||
wrongOrderList.Content.ClampMouseRectToParent = false;
|
|
||||||
|
|
||||||
for (int i = 0; i < orders.Count; i++)
|
|
||||||
{
|
|
||||||
var order = orders[i];
|
|
||||||
if (order.TargetAllCharacters) continue;
|
|
||||||
|
|
||||||
RectTransform btnParent = (i >= correctOrderCount + neutralOrderCount) ?
|
|
||||||
wrongOrderList.Content.RectTransform :
|
|
||||||
orderButtonFrame.RectTransform;
|
|
||||||
|
|
||||||
var btn = new GUIButton(new RectTransform(new Point(iconSize, iconSize), btnParent, Anchor.CenterLeft),
|
|
||||||
style: null)
|
|
||||||
{
|
|
||||||
UserData = order
|
|
||||||
};
|
|
||||||
|
|
||||||
new GUIFrame(new RectTransform(new Vector2(1.5f), btn.RectTransform, Anchor.Center), "OuterGlow")
|
|
||||||
{
|
|
||||||
Color = Color.Lerp(order.Color, frame.Color, 0.5f) * 0.8f,
|
|
||||||
HoverColor = Color.Lerp(order.Color, frame.Color, 0.5f) * 1.0f,
|
|
||||||
PressedColor = Color.Lerp(order.Color, frame.Color, 0.5f) * 0.6f,
|
|
||||||
UserData = "selected",
|
|
||||||
CanBeFocused = false,
|
|
||||||
Visible = false
|
|
||||||
};
|
|
||||||
|
|
||||||
var img = new GUIImage(new RectTransform(Vector2.One, btn.RectTransform), order.Prefab.SymbolSprite);
|
|
||||||
img.Scale = iconSize / (float)img.SourceRect.Width;
|
|
||||||
img.Color = Color.Lerp(order.Color, frame.Color, 0.5f);
|
|
||||||
img.ToolTip = order.Name;
|
|
||||||
img.HoverColor = Color.Lerp(img.Color, Color.White, 0.5f);
|
|
||||||
|
|
||||||
btn.OnClicked += (GUIButton button, object userData) =>
|
|
||||||
{
|
|
||||||
if (Character.Controlled == null || Character.Controlled.SpeechImpediment >= 100.0f) return false;
|
|
||||||
|
|
||||||
if (btn.GetChildByUserData("selected").Visible)
|
|
||||||
{
|
|
||||||
SetCharacterOrder(character, Order.PrefabList.Find(o => o.AITag == "dismissed"), null, Character.Controlled);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (order.ItemComponentType != null || order.ItemIdentifiers.Length > 0 || order.Options.Length > 1)
|
|
||||||
{
|
|
||||||
CreateOrderTargetFrame(button, character, order);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetCharacterOrder(character, order, null, Character.Controlled);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
btn.UserData = order;
|
|
||||||
btn.ToolTip = order.Name;
|
|
||||||
|
|
||||||
//divider between different groups of orders
|
|
||||||
if (i == correctOrderCount - 1 || i == correctOrderCount + neutralOrderCount - 1)
|
|
||||||
{
|
|
||||||
//TODO: divider sprite
|
|
||||||
new GUIFrame(new RectTransform(new Point(8, iconSize), orderButtonFrame.RectTransform), style: "GUIButton");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var toggleWrongOrderBtn = new GUIButton(new RectTransform(new Point((int)(30 * GUI.Scale), wrongOrderList.Rect.Height), wrongOrderList.Content.RectTransform),
|
|
||||||
"", style: "UIToggleButton")
|
|
||||||
{
|
|
||||||
UserData = "togglewrongorder",
|
|
||||||
CanBeFocused = false
|
|
||||||
};
|
|
||||||
|
|
||||||
wrongOrderList.RectTransform.NonScaledSize = new Point(
|
|
||||||
wrongOrderList.Content.Children.Sum(c => c.Rect.Width + wrongOrderList.Spacing),
|
|
||||||
wrongOrderList.RectTransform.NonScaledSize.Y);
|
|
||||||
wrongOrderList.RectTransform.SetAsLastChild();
|
|
||||||
|
|
||||||
new GUIFrame(new RectTransform(new Point(
|
|
||||||
wrongOrderList.Rect.Width - toggleWrongOrderBtn.Rect.Width - wrongOrderList.Spacing * 2,
|
|
||||||
wrongOrderList.Rect.Height), wrongOrderList.Content.RectTransform),
|
|
||||||
style: null)
|
|
||||||
{
|
|
||||||
CanBeFocused = false
|
|
||||||
};
|
|
||||||
|
|
||||||
//scale to fit the content
|
|
||||||
orderButtonFrame.RectTransform.NonScaledSize = new Point(
|
|
||||||
orderButtonFrame.Children.Sum(c => c.Rect.Width + orderButtonFrame.AbsoluteSpacing),
|
|
||||||
orderButtonFrame.RectTransform.NonScaledSize.Y);
|
|
||||||
|
|
||||||
frame.RectTransform.NonScaledSize = new Point(
|
|
||||||
characterInfoWidth + spacing + (orderButtonFrame.Rect.Width - wrongOrderList.Rect.Width),
|
|
||||||
frame.RectTransform.NonScaledSize.Y);
|
|
||||||
|
|
||||||
characterListBox.RectTransform.NonScaledSize = new Point(
|
|
||||||
characterListBox.Content.Children.Max(c => c.Rect.Width) + wrongOrderList.Rect.Width,
|
|
||||||
characterListBox.RectTransform.NonScaledSize.Y);
|
|
||||||
characterListBox.Content.RectTransform.NonScaledSize = characterListBox.RectTransform.NonScaledSize;
|
|
||||||
characterListBox.UpdateScrollBarSize();
|
|
||||||
return frame;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<object> KillCharacterAnim(GUIComponent component)
|
private IEnumerable<object> KillCharacterAnim(GUIComponent component)
|
||||||
@@ -953,12 +758,6 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<Character> availableSpeakers = Character.CharacterList.FindAll(c =>
|
|
||||||
c.AIController is HumanAIController &&
|
|
||||||
!c.IsDead &&
|
|
||||||
c.SpeechImpediment <= 100.0f);
|
|
||||||
pendingConversationLines.AddRange(NPCConversation.CreateRandom(availableSpeakers));
|
|
||||||
}
|
|
||||||
|
|
||||||
character.SetOrder(order, option, orderGiver, speak: orderGiver != character);
|
character.SetOrder(order, option, orderGiver, speak: orderGiver != character);
|
||||||
if (IsSinglePlayer)
|
if (IsSinglePlayer)
|
||||||
@@ -1016,22 +815,6 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
character.SetOrder(order, option, orderGiver, speak: orderGiver != character);
|
|
||||||
if (IsSinglePlayer)
|
|
||||||
{
|
|
||||||
orderGiver?.Speak(
|
|
||||||
order.GetChatMessage(character.Name, orderGiver.CurrentHull?.DisplayName, givingOrderToSelf: character == orderGiver, orderOption: option), null);
|
|
||||||
}
|
|
||||||
else if (orderGiver != null)
|
|
||||||
{
|
|
||||||
OrderChatMessage msg = new OrderChatMessage(order, option, order.TargetItemComponent?.Item, character, orderGiver);
|
|
||||||
if (GameMain.Client != null)
|
|
||||||
{
|
|
||||||
GameMain.Client.SendChatMessage(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DisplayCharacterOrder(character, order);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -714,7 +714,10 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
GUITextBlock.AutoScaleAndNormalize(defaultBindingsButton.TextBlock, legacyBindingsButton.TextBlock);
|
legacyBindingsButton.TextBlock.RectTransform.SizeChanged += () =>
|
||||||
|
{
|
||||||
|
GUITextBlock.AutoScaleAndNormalize(defaultBindingsButton.TextBlock, legacyBindingsButton.TextBlock);
|
||||||
|
};
|
||||||
|
|
||||||
//spacing
|
//spacing
|
||||||
new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), generalLayoutGroup.RectTransform), style: null);
|
new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), generalLayoutGroup.RectTransform), style: null);
|
||||||
|
|||||||
@@ -385,7 +385,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;
|
||||||
@@ -531,6 +531,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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -562,6 +562,7 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
itemEditor.AddCustomContent(buttonContainer, itemEditor.ContentCount);
|
itemEditor.AddCustomContent(buttonContainer, itemEditor.ContentCount);
|
||||||
|
GUITextBlock.AutoScaleAndNormalize(buttonContainer.Children.Select(b => ((GUIButton)b).TextBlock));
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (ItemComponent ic in components)
|
foreach (ItemComponent ic in components)
|
||||||
|
|||||||
@@ -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,233 +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;
|
||||||
|
|
||||||
@@ -250,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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -765,8 +764,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
|
||||||
@@ -842,7 +839,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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,10 @@ namespace Barotrauma
|
|||||||
var infoHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.5f), leftColumn.RectTransform)) { RelativeSpacing = 0.05f };
|
var infoHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.5f), leftColumn.RectTransform)) { RelativeSpacing = 0.05f };
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), infoHolder.RectTransform, Anchor.Center), TextManager.Get("JoinServer"), font: GUI.LargeFont)
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), infoHolder.RectTransform, Anchor.Center), TextManager.Get("JoinServer"), font: GUI.LargeFont)
|
||||||
{ ForceUpperCase = true };
|
{
|
||||||
|
ForceUpperCase = true,
|
||||||
|
AutoScale = true
|
||||||
|
};
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), infoHolder.RectTransform), TextManager.Get("YourName"));
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), infoHolder.RectTransform), TextManager.Get("YourName"));
|
||||||
clientNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.13f), infoHolder.RectTransform), "")
|
clientNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.13f), infoHolder.RectTransform), "")
|
||||||
|
|||||||
@@ -257,12 +257,12 @@ namespace Barotrauma
|
|||||||
|
|
||||||
|
|
||||||
saveAssemblyFrame = new GUIFrame(new RectTransform(new Vector2(0.08f, 0.5f), TopPanel.RectTransform, Anchor.BottomLeft, Pivot.TopLeft)
|
saveAssemblyFrame = new GUIFrame(new RectTransform(new Vector2(0.08f, 0.5f), TopPanel.RectTransform, Anchor.BottomLeft, Pivot.TopLeft)
|
||||||
{ MinSize = new Point(180, 40), AbsoluteOffset = new Point(LeftPanel.Rect.Width + hullVolumeFrame.Rect.Width, 0) }, "InnerFrame")
|
{ MinSize = new Point(200, 40), AbsoluteOffset = new Point(LeftPanel.Rect.Width + hullVolumeFrame.Rect.Width, 0) }, "InnerFrame")
|
||||||
{
|
{
|
||||||
Visible = false
|
Visible = false
|
||||||
};
|
};
|
||||||
var saveAssemblyButton = new GUIButton(new RectTransform(new Vector2(0.9f, 0.8f), saveAssemblyFrame.RectTransform, Anchor.Center), TextManager.Get("SaveItemAssembly"));
|
var saveAssemblyButton = new GUIButton(new RectTransform(new Vector2(0.9f, 0.8f), saveAssemblyFrame.RectTransform, Anchor.Center), TextManager.Get("SaveItemAssembly"));
|
||||||
saveAssemblyFrame.Font = GUI.SmallFont;
|
saveAssemblyButton.TextBlock.AutoScale = true;
|
||||||
saveAssemblyButton.OnClicked += (btn, userdata) =>
|
saveAssemblyButton.OnClicked += (btn, userdata) =>
|
||||||
{
|
{
|
||||||
CreateSaveAssemblyScreen();
|
CreateSaveAssemblyScreen();
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
using Microsoft.Xna.Framework;
|
using Microsoft.Xna.Framework;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Barotrauma.Extensions;
|
|
||||||
|
|
||||||
namespace Barotrauma
|
namespace Barotrauma
|
||||||
{
|
{
|
||||||
@@ -368,11 +367,7 @@ namespace Barotrauma
|
|||||||
//toggle the door if it's the previous node and open, or if it's current node and closed
|
//toggle the door if it's the previous node and open, or if it's current node and closed
|
||||||
if (door.IsOpen != shouldBeOpen)
|
if (door.IsOpen != shouldBeOpen)
|
||||||
{
|
{
|
||||||
var buttons = door.Item.GetComponents<Controller>();
|
var buttons = door.Item.GetConnectedComponents<Controller>(true);
|
||||||
if (buttons.None())
|
|
||||||
{
|
|
||||||
buttons = door.Item.GetConnectedComponents<Controller>(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller closestButton = null;
|
Controller closestButton = null;
|
||||||
float closestDist = 0.0f;
|
float closestDist = 0.0f;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
using Microsoft.Xna.Framework;
|
using Microsoft.Xna.Framework;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Barotrauma.Extensions;
|
|
||||||
|
|
||||||
namespace Barotrauma
|
namespace Barotrauma
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Xml.Linq;
|
using System.Xml.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)
|
||||||
|
|||||||
@@ -1432,7 +1432,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
|
||||||
|
|||||||
Reference in New Issue
Block a user