Fix and move Logic into its own Function in LobbyUtils
This commit is contained in:
@@ -79,10 +79,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
var ping = orderManager.LobbyInfo.PingFromClient(client);
|
var ping = orderManager.LobbyInfo.PingFromClient(client);
|
||||||
latency.GetText = () => LobbyUtils.LatencyDescription(ping);
|
latency.GetText = () => LobbyUtils.LatencyDescription(ping);
|
||||||
latency.GetColor = () => LobbyUtils.LatencyColor(ping);
|
latency.GetColor = () => LobbyUtils.LatencyColor(ping);
|
||||||
var address = orderManager.LobbyInfo.ClientWithIndex(clientIndex).IpAddress;
|
|
||||||
if (clientIndex == orderManager.LocalClient.Index && UPnP.NatDevice != null
|
var address = LobbyUtils.GetExternalIP(clientIndex, orderManager);
|
||||||
&& address == IPAddress.Loopback.ToString())
|
|
||||||
address = UPnP.NatDevice.GetExternalIP().ToString();
|
|
||||||
var cachedDescriptiveIP = LobbyUtils.DescriptiveIpAddress(address);
|
var cachedDescriptiveIP = LobbyUtils.DescriptiveIpAddress(address);
|
||||||
ip.GetText = () => cachedDescriptiveIP;
|
ip.GetText = () => cachedDescriptiveIP;
|
||||||
var cachedCountryLookup = GeoIP.LookupCountry(address);
|
var cachedCountryLookup = GeoIP.LookupCountry(address);
|
||||||
|
|||||||
@@ -482,5 +482,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
};
|
};
|
||||||
playerName.GetColor = () => player.Color.RGB;
|
playerName.GetColor = () => player.Color.RGB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetExternalIP(int clientIndex, OrderManager orderManager)
|
||||||
|
{
|
||||||
|
var address = orderManager.LobbyInfo.ClientWithIndex(clientIndex).IpAddress;
|
||||||
|
if (clientIndex == orderManager.LocalClient.Index && address == IPAddress.Loopback.ToString() && UPnP.NatDevice != null)
|
||||||
|
{
|
||||||
|
var externalIP = UPnP.NatDevice.GetExternalIP();
|
||||||
|
if (externalIP != null)
|
||||||
|
address = externalIP.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return address;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user