Server port included in refresh and remove requests to master server, spectators see indicators for both subs during combat missions

This commit is contained in:
Regalis
2017-02-21 20:46:08 +02:00
parent d50eba55a6
commit d7aba531d7
2 changed files with 16 additions and 5 deletions
@@ -227,6 +227,7 @@ namespace Barotrauma.Networking
var request = new RestRequest("masterserver3.php", Method.GET); var request = new RestRequest("masterserver3.php", Method.GET);
request.AddParameter("action", "refreshserver"); request.AddParameter("action", "refreshserver");
request.AddParameter("serverport", Port);
request.AddParameter("gamestarted", gameStarted ? 1 : 0); request.AddParameter("gamestarted", gameStarted ? 1 : 0);
request.AddParameter("currplayers", connectedClients.Count); request.AddParameter("currplayers", connectedClients.Count);
request.AddParameter("maxplayers", config.MaximumConnections); request.AddParameter("maxplayers", config.MaximumConnections);
@@ -2009,6 +2010,7 @@ namespace Barotrauma.Networking
{ {
var request = new RestRequest("masterserver2.php", Method.GET); var request = new RestRequest("masterserver2.php", Method.GET);
request.AddParameter("action", "removeserver"); request.AddParameter("action", "removeserver");
request.AddParameter("serverport", Port);
restClient.Execute(request); restClient.Execute(request);
restClient = null; restClient = null;
+14 -5
View File
@@ -217,8 +217,17 @@ namespace Barotrauma
if (GameMain.GameSession != null) GameMain.GameSession.Draw(spriteBatch); if (GameMain.GameSession != null) GameMain.GameSession.Draw(spriteBatch);
if (Character.Controlled == null && Submarine.MainSub != null && !GUI.DisableHUD) if (Character.Controlled == null && !GUI.DisableHUD)
DrawSubmarineIndicator(spriteBatch, Submarine.MainSub); {
for (int i = 0; i < Submarine.MainSubs.Length; i++)
{
if (Submarine.MainSubs[i] != null)
{
Color indicatorColor = i == 0 ? Color.LightBlue * 0.5f : Color.Red * 0.5f;
DrawSubmarineIndicator(spriteBatch, Submarine.MainSubs[i], indicatorColor);
}
}
}
GUI.Draw((float)deltaTime, spriteBatch, cam); GUI.Draw((float)deltaTime, spriteBatch, cam);
@@ -437,7 +446,7 @@ namespace Barotrauma
} }
private void DrawSubmarineIndicator(SpriteBatch spriteBatch, Submarine submarine) private void DrawSubmarineIndicator(SpriteBatch spriteBatch, Submarine submarine, Color color)
{ {
Vector2 subDiff = submarine.WorldPosition - cam.WorldViewCenter; Vector2 subDiff = submarine.WorldPosition - cam.WorldViewCenter;
@@ -449,11 +458,11 @@ namespace Barotrauma
cam.WorldToScreen(cam.WorldViewCenter) + cam.WorldToScreen(cam.WorldViewCenter) +
new Vector2(normalizedSubDiff.X * GameMain.GraphicsWidth * 0.4f, -normalizedSubDiff.Y * GameMain.GraphicsHeight * 0.4f); new Vector2(normalizedSubDiff.X * GameMain.GraphicsWidth * 0.4f, -normalizedSubDiff.Y * GameMain.GraphicsHeight * 0.4f);
GUI.SubmarineIcon.Draw(spriteBatch, iconPos, Color.LightBlue * 0.5f); GUI.SubmarineIcon.Draw(spriteBatch, iconPos, color);
Vector2 arrowOffset = normalizedSubDiff * GUI.SubmarineIcon.size.X * 0.7f; Vector2 arrowOffset = normalizedSubDiff * GUI.SubmarineIcon.size.X * 0.7f;
arrowOffset.Y = -arrowOffset.Y; arrowOffset.Y = -arrowOffset.Y;
GUI.Arrow.Draw(spriteBatch, iconPos + arrowOffset, Color.LightBlue * 0.5f, MathUtils.VectorToAngle(arrowOffset) + MathHelper.PiOver2); GUI.Arrow.Draw(spriteBatch, iconPos + arrowOffset, color, MathUtils.VectorToAngle(arrowOffset) + MathHelper.PiOver2);
} }
} }