diff --git a/LibreMetaverse.GUI/LoginPanel.cs b/LibreMetaverse.GUI/LoginPanel.cs index f6b3bfb7..4bc66057 100644 --- a/LibreMetaverse.GUI/LoginPanel.cs +++ b/LibreMetaverse.GUI/LoginPanel.cs @@ -208,9 +208,9 @@ namespace OpenMetaverse.GUI this.BeginInvoke(new MethodInvoker(delegate() { SetText(control, text); })); else { - if (control is Button) ((Button)control).Text = text; - else if (control is ComboBox) ((ComboBox)control).Text = text; - else if (control is TextBox) ((TextBox)control).Text = text; + if (control is Button button) button.Text = text; + else if (control is ComboBox box) box.Text = text; + else if (control is TextBox textBox) textBox.Text = text; } } diff --git a/LibreMetaverse.Rendering.Meshmerizer/MeshmerizerR.cs b/LibreMetaverse.Rendering.Meshmerizer/MeshmerizerR.cs index 5d79a714..f7b37446 100644 --- a/LibreMetaverse.Rendering.Meshmerizer/MeshmerizerR.cs +++ b/LibreMetaverse.Rendering.Meshmerizer/MeshmerizerR.cs @@ -464,9 +464,7 @@ namespace OpenMetaverse.Rendering try { OSD convexBlockOsd = Helpers.DecompressOSD(compressedMeshData); - if (convexBlockOsd is OSDMap) { - OSDMap convexBlock = convexBlockOsd as OSDMap; - + if (convexBlockOsd is OSDMap convexBlock) { Vector3 min = new Vector3(-0.5f, -0.5f, -0.5f); if (convexBlock.ContainsKey("Min")) min = convexBlock["Min"].AsVector3(); Vector3 max = new Vector3(0.5f, 0.5f, 0.5f); @@ -530,9 +528,8 @@ namespace OpenMetaverse.Rendering // Add the submesh to the passed SimpleMesh private void AddSubMesh(OSD subMeshOsd, ref OMVR.SimpleMesh holdingMesh) { - if (subMeshOsd is OSDMap) + if (subMeshOsd is OSDMap subMeshMap) { - OSDMap subMeshMap = (OSDMap) subMeshOsd; // As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some Mesh Level // of Detail Blocks (maps) contain just a NoGeometry key to signal there is no // geometry for this submesh. @@ -546,10 +543,8 @@ namespace OpenMetaverse.Rendering // Add the submesh to the passed FacetedMesh as a new face. private void AddSubMesh(OMV.Primitive prim, int faceIndex, OSD subMeshOsd, ref OMVR.FacetedMesh holdingMesh) { - if (subMeshOsd is OSDMap) + if (subMeshOsd is OSDMap subMesh) { - OSDMap subMesh = (OSDMap) subMeshOsd; - // As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some Mesh Level // of Detail Blocks (maps) contain just a NoGeometry key to signal there is no // geometry for this submesh. @@ -564,7 +559,7 @@ namespace OpenMetaverse.Rendering TextureFace = prim.Textures.GetFace((uint) faceIndex) }; - OSDMap subMeshMap = (OSDMap)subMeshOsd; + OSDMap subMeshMap = subMesh; oface.Vertices = CollectVertices(subMeshMap); oface.Indices = CollectIndices(subMeshMap); diff --git a/LibreMetaverse.StructuredData/JSON/JsonData.cs b/LibreMetaverse.StructuredData/JSON/JsonData.cs index 55c6fd67..64bfe968 100644 --- a/LibreMetaverse.StructuredData/JSON/JsonData.cs +++ b/LibreMetaverse.StructuredData/JSON/JsonData.cs @@ -262,33 +262,33 @@ namespace LitJson public JsonData (object obj) { - if (obj is Boolean) { + if (obj is bool b) { type = JsonType.Boolean; - inst_boolean = (bool) obj; + inst_boolean = b; return; } - if (obj is Double) { + if (obj is double d) { type = JsonType.Double; - inst_double = (double) obj; + inst_double = d; return; } - if (obj is Int32) { + if (obj is int i) { type = JsonType.Int; - inst_int = (int) obj; + inst_int = i; return; } - if (obj is Int64) { + if (obj is long l) { type = JsonType.Long; - inst_long = (long) obj; + inst_long = l; return; } - if (obj is String) { + if (obj is string s) { type = JsonType.String; - inst_string = (string) obj; + inst_string = s; return; } @@ -658,8 +658,8 @@ namespace LitJson if (obj == null) return null; - if (obj is JsonData) - return (JsonData) obj; + if (obj is JsonData data) + return data; return new JsonData (obj); } diff --git a/LibreMetaverse.StructuredData/JSON/JsonMapper.cs b/LibreMetaverse.StructuredData/JSON/JsonMapper.cs index b5b7915f..bd1e0076 100644 --- a/LibreMetaverse.StructuredData/JSON/JsonMapper.cs +++ b/LibreMetaverse.StructuredData/JSON/JsonMapper.cs @@ -672,44 +672,44 @@ namespace LitJson return; } - if (obj is IJsonWrapper) { + if (obj is IJsonWrapper wrapper) { if (writer_is_private) - writer.TextWriter.Write (((IJsonWrapper) obj).ToJson ()); + writer.TextWriter.Write (wrapper.ToJson ()); else - ((IJsonWrapper) obj).ToJson (writer); + wrapper.ToJson (writer); return; } - if (obj is String) { - writer.Write ((string) obj); + if (obj is string s) { + writer.Write (s); return; } - if (obj is Double) { - writer.Write ((double) obj); + if (obj is double d) { + writer.Write (d); return; } - if (obj is Int32) { - writer.Write ((int) obj); + if (obj is int i) { + writer.Write (i); return; } - if (obj is Boolean) { - writer.Write ((bool) obj); + if (obj is bool b) { + writer.Write (b); return; } - if (obj is Int64) { - writer.Write ((long) obj); + if (obj is long l) { + writer.Write (l); return; } - if (obj is Array) { + if (obj is Array array) { writer.WriteArrayStart (); - foreach (object elem in (Array) obj) + foreach (object elem in array) WriteValue (elem, writer, writer_is_private, depth + 1); writer.WriteArrayEnd (); @@ -717,18 +717,18 @@ namespace LitJson return; } - if (obj is IList) { + if (obj is IList list) { writer.WriteArrayStart (); - foreach (object elem in (IList) obj) + foreach (object elem in list) WriteValue (elem, writer, writer_is_private, depth + 1); writer.WriteArrayEnd (); return; } - if (obj is IDictionary) { + if (obj is IDictionary dictionary) { writer.WriteObjectStart (); - foreach (DictionaryEntry entry in (IDictionary) obj) { + foreach (DictionaryEntry entry in dictionary) { writer.WritePropertyName ((string) entry.Key); WriteValue (entry.Value, writer, writer_is_private, depth + 1); diff --git a/LibreMetaverse/AppearanceManager.cs b/LibreMetaverse/AppearanceManager.cs index bfb13949..e0f340e4 100644 --- a/LibreMetaverse/AppearanceManager.cs +++ b/LibreMetaverse/AppearanceManager.cs @@ -1611,10 +1611,10 @@ namespace OpenMetaverse Client.Assets.RequestAsset(wearable.AssetID, wearable.AssetType, true, delegate(AssetDownload transfer, Asset asset) { - if (transfer.Success && asset is AssetWearable) + if (transfer.Success && asset is AssetWearable assetWearable) { // Update this wearable with the freshly downloaded asset - wearable.Asset = (AssetWearable)asset; + wearable.Asset = assetWearable; if (wearable.Asset.Decode()) { @@ -1627,7 +1627,7 @@ namespace OpenMetaverse { wearable.Asset = null; Logger.Log("Failed to decode asset:" + Environment.NewLine + - Utils.BytesToString(asset.AssetData), Helpers.LogLevel.Error, Client); + Utils.BytesToString(assetWearable.AssetData), Helpers.LogLevel.Error, Client); } } else @@ -2231,20 +2231,20 @@ namespace OpenMetaverse { foreach (var ib in objects) { - if (ib is InventoryWearable) + if (ib is InventoryWearable wearable) { - Logger.DebugLog("Adding wearable " + ib.Name, Client); - wearables.Add((InventoryWearable)ib); + Logger.DebugLog("Adding wearable " + wearable.Name, Client); + wearables.Add(wearable); } - else if (ib is InventoryAttachment) + else if (ib is InventoryAttachment attachment) { - Logger.DebugLog("Adding attachment (attachment) " + ib.Name, Client); - attachments.Add((InventoryItem)ib); + Logger.DebugLog("Adding attachment (attachment) " + attachment.Name, Client); + attachments.Add(attachment); } - else if (ib is InventoryObject) + else if (ib is InventoryObject inventoryObject) { - Logger.DebugLog("Adding attachment (object) " + ib.Name, Client); - attachments.Add((InventoryItem)ib); + Logger.DebugLog("Adding attachment (object) " + inventoryObject.Name, Client); + attachments.Add(inventoryObject); } else { diff --git a/LibreMetaverse/GridManager.cs b/LibreMetaverse/GridManager.cs index ac76f3aa..b6d61e69 100644 --- a/LibreMetaverse/GridManager.cs +++ b/LibreMetaverse/GridManager.cs @@ -129,8 +129,8 @@ namespace OpenMetaverse /// public override bool Equals(object obj) { - if (obj is GridRegion) - return Equals((GridRegion)obj); + if (obj is GridRegion region) + return Equals(region); else return false; } diff --git a/LibreMetaverse/ObjectManager.cs b/LibreMetaverse/ObjectManager.cs index f99a8fe9..e611cdc4 100644 --- a/LibreMetaverse/ObjectManager.cs +++ b/LibreMetaverse/ObjectManager.cs @@ -1759,10 +1759,8 @@ namespace OpenMetaverse ObjectMediaMessage msg = new ObjectMediaMessage(); msg.Deserialize((OSDMap)result); - if (msg.Request is ObjectMediaResponse) + if (msg.Request is ObjectMediaResponse response) { - ObjectMediaResponse response = (ObjectMediaResponse)msg.Request; - if (Client.Settings.OBJECT_TRACKING) { Primitive prim = sim.ObjectsPrimitives.Find((Primitive p) => { return p.ID == primID; }); diff --git a/LibreMetaverse/PacketDecoder.cs b/LibreMetaverse/PacketDecoder.cs index 36400a27..2933cf4f 100644 --- a/LibreMetaverse/PacketDecoder.cs +++ b/LibreMetaverse/PacketDecoder.cs @@ -771,8 +771,8 @@ namespace OpenMetaverse.Packets private static string DecodeNameValue(string fieldName, object fieldData) { NameValue[] nameValues = null; - if (fieldData is NameValue[]) - nameValues = fieldData as NameValue[]; + if (fieldData is NameValue[] data) + nameValues = data; else { string nameValue = Utils.BytesToString((byte[]) fieldData); @@ -1024,12 +1024,12 @@ namespace OpenMetaverse.Packets private static string DecodeTimeStamp(string fieldName, object fieldData) { - if (fieldData is Int32 && (int) fieldData > 0) + if (fieldData is int data && data > 0) return - $"{fieldName,30}: {fieldData,-10} {"(" + Utils.UnixTimeToDateTime((int) fieldData) + ")",-29} [{fieldData.GetType().Name}]"; - else if (fieldData is uint && (uint) fieldData > 0) + $"{fieldName,30}: {data,-10} {"(" + Utils.UnixTimeToDateTime(data) + ")",-29} [{data.GetType().Name}]"; + else if (fieldData is uint u && u > 0) return - $"{fieldName,30}: {fieldData,-10} {"(" + Utils.UnixTimeToDateTime((uint) fieldData) + ")",-29} [{fieldData.GetType().Name}]"; + $"{fieldName,30}: {u,-10} {"(" + Utils.UnixTimeToDateTime(u) + ")",-29} [{u.GetType().Name}]"; else return $"{fieldName,30}: {fieldData,-40} [{fieldData.GetType().Name}]"; } @@ -1272,8 +1272,8 @@ namespace OpenMetaverse.Packets private static string DecodeTextureEntry(string fieldName, object fieldData) { Primitive.TextureEntry te; - if (fieldData is Primitive.TextureEntry) - te = (Primitive.TextureEntry) fieldData; + if (fieldData is Primitive.TextureEntry data) + te = data; else { byte[] tebytes = (byte[]) fieldData; @@ -1622,9 +1622,8 @@ namespace OpenMetaverse.Packets string[] keyList = {decoderKey, decoderKey.Replace("Packet", ""), keys[1] + "." + keys[2], keys[2]}; foreach (string key in keyList) { - if (fieldData is byte[]) + if (fieldData is byte[] fd) { - byte[] fd = (byte[]) fieldData; if (!(fd.Length > 0)) { // bypass the decoder since we were passed an empty byte array diff --git a/LibreMetaverse/Permissions.cs b/LibreMetaverse/Permissions.cs index aadfe35d..ab2cf652 100644 --- a/LibreMetaverse/Permissions.cs +++ b/LibreMetaverse/Permissions.cs @@ -145,7 +145,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Permissions) && this == (Permissions)obj; + return (obj is Permissions permissions) && this == permissions; } public bool Equals(Permissions other) diff --git a/LibreMetaverseTypes/Color4.cs b/LibreMetaverseTypes/Color4.cs index 213eda60..97617733 100644 --- a/LibreMetaverseTypes/Color4.cs +++ b/LibreMetaverseTypes/Color4.cs @@ -425,7 +425,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Color4) && this == (Color4)obj; + return (obj is Color4 color4) && this == color4; } public bool Equals(Color4 other) diff --git a/LibreMetaverseTypes/Matrix4.cs b/LibreMetaverseTypes/Matrix4.cs index f6451f94..7cd234ce 100644 --- a/LibreMetaverseTypes/Matrix4.cs +++ b/LibreMetaverseTypes/Matrix4.cs @@ -986,7 +986,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Matrix4) ? this.Equals((Matrix4)obj) : false; + return (obj is Matrix4 matrix4) && this.Equals(matrix4); } public bool Equals(Matrix4 other) diff --git a/LibreMetaverseTypes/Quaternion.cs b/LibreMetaverseTypes/Quaternion.cs index 639436b7..34ff2b4f 100644 --- a/LibreMetaverseTypes/Quaternion.cs +++ b/LibreMetaverseTypes/Quaternion.cs @@ -675,7 +675,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Quaternion) ? this == (Quaternion)obj : false; + return (obj is Quaternion quaternion) && this == quaternion; } public bool Equals(Quaternion other) diff --git a/LibreMetaverseTypes/Vector2.cs b/LibreMetaverseTypes/Vector2.cs index 909e157f..e3138516 100644 --- a/LibreMetaverseTypes/Vector2.cs +++ b/LibreMetaverseTypes/Vector2.cs @@ -344,7 +344,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Vector2) ? this == ((Vector2)obj) : false; + return (obj is Vector2 vector2) && this == vector2; } public bool Equals(Vector2 other) diff --git a/LibreMetaverseTypes/Vector3.cs b/LibreMetaverseTypes/Vector3.cs index e4ae6a66..b4655170 100644 --- a/LibreMetaverseTypes/Vector3.cs +++ b/LibreMetaverseTypes/Vector3.cs @@ -433,7 +433,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Vector3) ? this == (Vector3)obj : false; + return (obj is Vector3 v3) && this == v3; } public bool Equals(Vector3 other) diff --git a/LibreMetaverseTypes/Vector3d.cs b/LibreMetaverseTypes/Vector3d.cs index efd70b51..0f71dabe 100644 --- a/LibreMetaverseTypes/Vector3d.cs +++ b/LibreMetaverseTypes/Vector3d.cs @@ -381,7 +381,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Vector3d) ? this == (Vector3d)obj : false; + return (obj is Vector3d v3d) && this == v3d; } public bool Equals(Vector3d other) diff --git a/LibreMetaverseTypes/Vector4.cs b/LibreMetaverseTypes/Vector4.cs index 21176071..3ed77218 100644 --- a/LibreMetaverseTypes/Vector4.cs +++ b/LibreMetaverseTypes/Vector4.cs @@ -425,7 +425,7 @@ namespace OpenMetaverse public override bool Equals(object obj) { - return (obj is Vector4) ? this == (Vector4)obj : false; + return (obj is Vector4 vector4) && this == vector4; } public bool Equals(Vector4 other) diff --git a/Programs/GridProxy/GridProxy.cs b/Programs/GridProxy/GridProxy.cs index 864686ba..93d7fc38 100644 --- a/Programs/GridProxy/GridProxy.cs +++ b/Programs/GridProxy/GridProxy.cs @@ -991,10 +991,8 @@ namespace GridProxy if (stage == CapsStage.Response) { - if (capReq.Response != null && capReq.Response is OSDMap) + if (capReq.Response != null && capReq.Response is OSDMap map) { - OSDMap map = (OSDMap)capReq.Response; - if (map.ContainsKey("uploader")) { string val = map["uploader"].AsString(); @@ -1027,8 +1025,8 @@ namespace GridProxy if (stage != CapsStage.Response) return false; OSDMap map = null; - if (capReq.Response is OSDMap) - map = (OSDMap)capReq.Response; + if (capReq.Response is OSDMap response) + map = response; else return false; OSDArray array = null; diff --git a/Programs/VoiceTest/VoiceTest.cs b/Programs/VoiceTest/VoiceTest.cs index c571b9c4..93a1e96c 100644 --- a/Programs/VoiceTest/VoiceTest.cs +++ b/Programs/VoiceTest/VoiceTest.cs @@ -163,7 +163,7 @@ namespace VoiceTest catch(Exception e) { Console.WriteLine(e.Message); - if (e is VoiceException && ((VoiceException) e).LoggedIn) + if (e is VoiceException exception && exception.LoggedIn) { client.Network.Logout(); } diff --git a/Programs/examples/TestClient/Commands/Appearance/WearCommand.cs b/Programs/examples/TestClient/Commands/Appearance/WearCommand.cs index 604340e1..5969cb81 100644 --- a/Programs/examples/TestClient/Commands/Appearance/WearCommand.cs +++ b/Programs/examples/TestClient/Commands/Appearance/WearCommand.cs @@ -45,8 +45,8 @@ namespace OpenMetaverse.TestClient foreach (InventoryBase item in contents) { - if (item is InventoryItem) - items.Add((InventoryItem)item); + if (item is InventoryItem inventoryItem) + items.Add(inventoryItem); } Client.Appearance.ReplaceOutfit(items); diff --git a/Programs/examples/TestClient/Commands/Inventory/ChangeDirectoryCommand.cs b/Programs/examples/TestClient/Commands/Inventory/ChangeDirectoryCommand.cs index a95a482f..2c394427 100644 --- a/Programs/examples/TestClient/Commands/Inventory/ChangeDirectoryCommand.cs +++ b/Programs/examples/TestClient/Commands/Inventory/ChangeDirectoryCommand.cs @@ -62,9 +62,9 @@ namespace OpenMetaverse.TestClient.Commands.Inventory.Shell if (item.Name == nextName || item.UUID.ToString() == nextName) { found = true; - if (item is InventoryFolder) + if (item is InventoryFolder folder) { - currentFolder = item as InventoryFolder; + currentFolder = folder; } else { diff --git a/Programs/examples/TestClient/Commands/Inventory/GiveItemCommand.cs b/Programs/examples/TestClient/Commands/Inventory/GiveItemCommand.cs index 790517c1..0bb83f8a 100644 --- a/Programs/examples/TestClient/Commands/Inventory/GiveItemCommand.cs +++ b/Programs/examples/TestClient/Commands/Inventory/GiveItemCommand.cs @@ -44,9 +44,8 @@ namespace OpenMetaverse.TestClient.Commands.Inventory.Shell if (inventoryName == b.Name || inventoryName == b.UUID.ToString()) { found = true; - if (b is InventoryItem) + if (b is InventoryItem item) { - InventoryItem item = b as InventoryItem; Manager.GiveItem(item.UUID, item.Name, item.AssetType, dest, true); ret += "Gave " + item.Name + " (" + item.AssetType + ")" + nl; } diff --git a/Programs/examples/TestClient/Commands/Inventory/InventoryCommand.cs b/Programs/examples/TestClient/Commands/Inventory/InventoryCommand.cs index 1e6a9569..a61a5388 100644 --- a/Programs/examples/TestClient/Commands/Inventory/InventoryCommand.cs +++ b/Programs/examples/TestClient/Commands/Inventory/InventoryCommand.cs @@ -45,9 +45,8 @@ namespace OpenMetaverse.TestClient foreach (InventoryBase i in contents) { result.AppendFormat("{0}{1} ({2})\n", new String(' ', indent * 2), i.Name, i.UUID); - if (i is InventoryFolder) + if (i is InventoryFolder folder) { - InventoryFolder folder = (InventoryFolder)i; PrintFolder(folder, result, indent + 1); } } diff --git a/Programs/examples/TestClient/Commands/Inventory/ListContentsCommand.cs b/Programs/examples/TestClient/Commands/Inventory/ListContentsCommand.cs index b662327c..30806946 100644 --- a/Programs/examples/TestClient/Commands/Inventory/ListContentsCommand.cs +++ b/Programs/examples/TestClient/Commands/Inventory/ListContentsCommand.cs @@ -38,16 +38,14 @@ namespace OpenMetaverse.TestClient.Commands.Inventory.Shell // 9 character permissions string // UUID of object // Name of object - if (b is InventoryFolder) + if (b is InventoryFolder folder) { - InventoryFolder folder = b as InventoryFolder; displayString += "d--------- "; displayString += folder.UUID; displayString += " " + folder.Name; } - else if (b is InventoryItem) + else if (b is InventoryItem item) { - InventoryItem item = b as InventoryItem; displayString += "-"; displayString += PermMaskString(item.Permissions.OwnerMask); displayString += PermMaskString(item.Permissions.GroupMask);