Simplify checks and casts, use pattern matching. Add a todo note.

This commit is contained in:
itchyOwl
2018-04-06 11:50:54 +03:00
parent 807ec87694
commit d7d69616e3
@@ -288,6 +288,7 @@ namespace Barotrauma
return label; return label;
} }
// TODO: DRY, auto positioning
private GUIComponent CreateVector3Field(ISerializableEntity entity, SerializableProperty property, Vector3 value, int yPos, GUIComponent parent) private GUIComponent CreateVector3Field(ISerializableEntity entity, SerializableProperty property, Vector3 value, int yPos, GUIComponent parent)
{ {
var label = new GUITextBlock(new Rectangle(0, yPos, 0, 18), property.Name, "", Alignment.TopLeft, Alignment.Left, parent, false, GUI.SmallFont); var label = new GUITextBlock(new Rectangle(0, yPos, 0, 18), property.Name, "", Alignment.TopLeft, Alignment.Left, parent, false, GUI.SmallFont);
@@ -462,23 +463,21 @@ namespace Barotrauma
private void TrySendNetworkUpdate(ISerializableEntity entity, SerializableProperty property) private void TrySendNetworkUpdate(ISerializableEntity entity, SerializableProperty property)
{ {
if (entity is ItemComponent) if (entity is ItemComponent e)
{ {
entity = ((ItemComponent)entity).Item; entity = e.Item;
} }
if (GameMain.Server != null) if (GameMain.Server != null)
{ {
IServerSerializable serverSerializable = entity as IServerSerializable; if (entity is IServerSerializable serverSerializable)
if (serverSerializable != null)
{ {
GameMain.Server.CreateEntityEvent(serverSerializable, new object[] { NetEntityEvent.Type.ChangeProperty, property }); GameMain.Server.CreateEntityEvent(serverSerializable, new object[] { NetEntityEvent.Type.ChangeProperty, property });
} }
} }
else if (GameMain.Client != null) else if (GameMain.Client != null)
{ {
IClientSerializable clientSerializable = entity as IClientSerializable; if (entity is IClientSerializable clientSerializable)
if (clientSerializable != null)
{ {
GameMain.Client.CreateEntityEvent(clientSerializable, new object[] { NetEntityEvent.Type.ChangeProperty, property }); GameMain.Client.CreateEntityEvent(clientSerializable, new object[] { NetEntityEvent.Type.ChangeProperty, property });
} }