Fixed incorrectly positioned character info boxes in the info menu
This commit is contained in:
@@ -212,11 +212,15 @@ namespace Barotrauma
|
||||
|
||||
GUIListBox crewList = new GUIListBox(new Rectangle(0, y, 280, listBoxHeight), Color.White * 0.7f, "", crewFrame);
|
||||
crewList.Padding = new Vector4(10.0f, 10.0f, 10.0f, 10.0f);
|
||||
crewList.OnSelected = SelectCrewCharacter;
|
||||
crewList.OnSelected = (component, obj) =>
|
||||
{
|
||||
SelectCrewCharacter(component.UserData as Character, crewList);
|
||||
return true;
|
||||
};
|
||||
|
||||
foreach (Character character in crew.FindAll(c => c.TeamID == teamIDs[i]))
|
||||
{
|
||||
GUIFrame frame = new GUIFrame(new Rectangle(0, 0, 0, 40), Color.Transparent, null, crewList);
|
||||
GUIFrame frame = new GUIFrame(new Rectangle(0, 0, 0, 40), Color.Transparent, "ListBoxElement", crewList);
|
||||
frame.UserData = character;
|
||||
frame.Padding = new Vector4(5.0f, 5.0f, 5.0f, 5.0f);
|
||||
frame.Color = (GameMain.NetworkMember != null && GameMain.NetworkMember.Character == character) ? Color.Gold * 0.2f : Color.Transparent;
|
||||
@@ -238,29 +242,22 @@ namespace Barotrauma
|
||||
|
||||
}
|
||||
|
||||
protected virtual bool SelectCrewCharacter(GUIComponent component, object obj)
|
||||
protected virtual bool SelectCrewCharacter(Character character, GUIComponent crewList)
|
||||
{
|
||||
Character character = obj as Character;
|
||||
if (character == null) return false;
|
||||
|
||||
var crewFrame = component.Parent;
|
||||
while (crewFrame.Parent!=null)
|
||||
{
|
||||
crewFrame = crewFrame.Parent;
|
||||
}
|
||||
|
||||
GUIComponent existingFrame = crewFrame.FindChild("selectedcharacter");
|
||||
if (existingFrame != null) crewFrame.RemoveChild(existingFrame);
|
||||
|
||||
GUIComponent existingFrame = crewList.Parent.FindChild("selectedcharacter");
|
||||
if (existingFrame != null) crewList.Parent.RemoveChild(existingFrame);
|
||||
|
||||
var previewPlayer = new GUIFrame(
|
||||
new Rectangle(0, 0, 230, 300),
|
||||
new Color(0.0f, 0.0f, 0.0f, 0.8f), Alignment.TopRight, "", crewFrame);
|
||||
new Color(0.0f, 0.0f, 0.0f, 0.8f), Alignment.TopRight, "", crewList.Parent);
|
||||
previewPlayer.Padding = new Vector4(5.0f, 5.0f, 5.0f, 5.0f);
|
||||
previewPlayer.UserData = "selectedcharacter";
|
||||
|
||||
character.Info.CreateInfoFrame(previewPlayer);
|
||||
|
||||
if (GameMain.NetworkMember != null) GameMain.NetworkMember.SelectCrewCharacter(component, obj);
|
||||
if (GameMain.NetworkMember != null) GameMain.NetworkMember.SelectCrewCharacter(character, crewList);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -910,13 +910,12 @@ namespace Barotrauma.Networking
|
||||
}
|
||||
|
||||
|
||||
public override bool SelectCrewCharacter(GUIComponent component, object obj)
|
||||
public override bool SelectCrewCharacter(Character character, GUIComponent crewFrame)
|
||||
{
|
||||
var characterFrame = component.Parent.Parent.FindChild("selectedcharacter");
|
||||
|
||||
Character character = obj as Character;
|
||||
if (character == null) return false;
|
||||
|
||||
var characterFrame = crewFrame.FindChild("selectedcharacter");
|
||||
|
||||
if (character != myCharacter)
|
||||
{
|
||||
var client = GameMain.NetworkMember.ConnectedClients.Find(c => c.Character == character);
|
||||
|
||||
@@ -1544,15 +1544,11 @@ namespace Barotrauma.Networking
|
||||
SaveClientPermissions();
|
||||
}
|
||||
|
||||
public override bool SelectCrewCharacter(GUIComponent component, object obj)
|
||||
public override bool SelectCrewCharacter(Character character, GUIComponent crewFrame)
|
||||
{
|
||||
base.SelectCrewCharacter(component, obj);
|
||||
|
||||
var characterFrame = component.Parent.Parent.FindChild("selectedcharacter");
|
||||
|
||||
Character character = obj as Character;
|
||||
if (character == null) return false;
|
||||
|
||||
var characterFrame = crewFrame.FindChild("selectedcharacter");
|
||||
if (character != myCharacter)
|
||||
{
|
||||
var banButton = new GUIButton(new Rectangle(0, 0, 100, 20), "Ban", Alignment.BottomRight, "", characterFrame);
|
||||
|
||||
@@ -427,7 +427,7 @@ namespace Barotrauma.Networking
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool SelectCrewCharacter(GUIComponent component, object obj)
|
||||
public virtual bool SelectCrewCharacter(Character character, GUIComponent crewFrame)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user