GUIStyle improvements & some simple UI graphics, networking bugfixes, separate Random class, some StyleCop cleanup

This commit is contained in:
Regalis
2015-07-02 22:24:50 +03:00
parent b493ed2b39
commit d836a99515
119 changed files with 8842 additions and 1277 deletions
+19 -19
View File
@@ -9,22 +9,20 @@ namespace Subsurface.Networking
{
class GameServer : NetworkMember
{
// Server object
NetServer Server;
// Configuration object
NetPeerConfiguration Config;
public List<Client> connectedClients = new List<Client>();
//NetIncomingMessage inc;
const int sparseUpdateInterval = 150;
const int SparseUpdateInterval = 150;
int sparseUpdateTimer;
Client myClient;
public GameServer()
{
name = "Server";
Config = new NetPeerConfiguration("subsurface");
Config.Port = 14242;
@@ -54,7 +52,7 @@ namespace Subsurface.Networking
}
public void Update()
public override void Update()
{
// Server.ReadMessage() Returns new messages, that have not yet been read.
// If "inc" is null -> ReadMessage returned null -> Its null, so dont do this :)
@@ -109,10 +107,10 @@ namespace Subsurface.Networking
if (sender == null) break;
if (sender.version != Game1.version.ToString())
if (sender.version != Game1.Version.ToString())
{
DisconnectClient(sender, sender.name+" was unable to connect to the server (nonmatching game version)",
"Subsurface version " + Game1.version + " required to connect to the server (Your version: " + sender.version + ")");
"Subsurface version " + Game1.Version + " required to connect to the server (Your version: " + sender.version + ")");
}
else
@@ -208,7 +206,7 @@ namespace Subsurface.Networking
private void SparseUpdate()
{
foreach (Character c in Character.characterList)
foreach (Character c in Character.CharacterList)
{
bool isClient = false;
foreach (Client client in connectedClients)
@@ -220,12 +218,12 @@ namespace Subsurface.Networking
if (!isClient)
{
c.largeUpdateTimer = 0;
c.LargeUpdateTimer = 0;
new NetworkEvent(c.ID, false);
}
}
sparseUpdateTimer = sparseUpdateInterval;
sparseUpdateTimer = SparseUpdateInterval;
}
private void SendMessage(NetOutgoingMessage msg, NetDeliveryMethod deliveryMethod, NetConnection excludedConnection)
@@ -268,14 +266,14 @@ namespace Subsurface.Networking
public bool StartGame(GUIButton button, object obj)
{
int seed = DateTime.Now.Millisecond;
Game1.random = new Random(seed);
Rand.SetSyncedSeed(seed);
Submarine selectedMap = Game1.NetLobbyScreen.SelectedMap as Submarine;
//selectedMap.Load();
Game1.GameSession = new GameSession(selectedMap, Game1.NetLobbyScreen.SelectedMode);
Game1.GameSession.StartShift(Game1.NetLobbyScreen.GameDuration, 1);
Game1.GameSession.StartShift(Game1.NetLobbyScreen.GameDuration, "asdf", 1);
//EventManager.SelectEvent(Game1.netLobbyScreen.SelectedEvent);
foreach (Client client in connectedClients)
@@ -446,17 +444,17 @@ namespace Subsurface.Networking
public void SendChatMessage(string message, ChatMessageType type = ChatMessageType.Server)
public override void SendChatMessage(string message, ChatMessageType type = ChatMessageType.Server)
{
AddChatMessage(message, type);
if (Server.Connections.Count == 0) return;
NetOutgoingMessage msg = Server.CreateMessage();
msg.Write((byte)PacketTypes.Chatmessage);
msg.Write((byte)type);
msg.Write(message);
if (Server.Connections.Count == 0) return;
if (type==ChatMessageType.Dead)
{
List<NetConnection> recipients = new List<NetConnection>();
@@ -478,13 +476,15 @@ namespace Subsurface.Networking
private void ReadCharacterData(NetIncomingMessage message)
{
string name = message.ReadString();
Gender gender = message.ReadBoolean() ? Gender.Male : Gender.Female;
string name = message.ReadString();
Gender gender = message.ReadBoolean() ? Gender.Male : Gender.Female;
int headSpriteId = message.ReadInt32();
foreach (Client c in connectedClients)
{
if (c.Connection != message.SenderConnection) continue;
c.characterInfo = new CharacterInfo("Content/Characters/Human/human.xml", name, gender);
c.characterInfo.HeadSpriteId = headSpriteId;
}
}
@@ -492,7 +492,7 @@ namespace Subsurface.Networking
{
message.Write(name);
message.Write(character.ID);
message.Write(character.info.gender==Gender.Female);
message.Write(character.Info.Gender == Gender.Female);
message.Write(character.Inventory.ID);
message.Write(character.SimPosition.X);
message.Write(character.SimPosition.Y);