]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
.NET 9 forward compatibility changes (#33421)
authorPieter-Jan Briers <pieterjan.briers+git@gmail.com>
Wed, 20 Nov 2024 00:17:45 +0000 (01:17 +0100)
committerGitHub <noreply@github.com>
Wed, 20 Nov 2024 00:17:45 +0000 (11:17 +1100)
This doesn't switch the projects over to .NET 9, but it does make them work on .NET 9 when we decide to switch in the future.

Content.Server/Announcements/AnnounceCommand.cs
Content.Server/Cargo/Systems/PricingSystem.cs
Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs
Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs
Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs
Content.Shared/Forensics/Events.cs
Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs

index 2307f36a5d02c841a64189fe667b1b98873ca3d9..3249fcc95d2a3a793b511a30c35532a0f7142c7b 100644 (file)
@@ -28,7 +28,8 @@ namespace Content.Server.Announcements
             }
             else
             {
-                var message = string.Join(' ', new ArraySegment<string>(args, 1, args.Length-1));
+                // Explicit IEnumerable<string> due to overload ambiguity on .NET 9
+                var message = string.Join(' ', (IEnumerable<string>)new ArraySegment<string>(args, 1, args.Length-1));
                 chat.DispatchGlobalAnnouncement(message, args[0], colorOverride: Color.Gold);
             }
             shell.WriteLine("Sent!");
index 830368baa3c833e291a766c7eb73056c494e833b..edc273b3c1fa262525c830703f9f4b274ae81636 100644 (file)
@@ -424,7 +424,7 @@ public record struct PriceCalculationEvent()
 [ByRefEvent]
 public record struct EstimatedPriceCalculationEvent()
 {
-    public EntityPrototype Prototype;
+    public required EntityPrototype Prototype;
 
     /// <summary>
     /// The total price of the entity.
index ee8eaa9ad1a16770d9570c3f5a23b927bb68d514..1504894b4a8fb8a18822189c1b939d081294177b 100644 (file)
@@ -11,8 +11,8 @@ public sealed partial class PathfindingSystem
     /// </summary>
     public record struct BreadthPathArgs()
     {
-        public Vector2i Start;
-        public List<Vector2i> Ends;
+        public required Vector2i Start;
+        public required List<Vector2i> Ends;
 
         public bool Diagonals = false;
 
index 9979755f995e0dbc89cea6d634977cef0870cb6b..91c42e651c18806ba743b9d4bdf9a2648930085a 100644 (file)
@@ -19,7 +19,7 @@ public sealed partial class PathfindingSystem
         public List<Vector2i> Points = new();
 
         public List<Vector2i> Path = new();
-        public Dictionary<Vector2i, Vector2i> CameFrom;
+        public Dictionary<Vector2i, Vector2i>? CameFrom;
     }
 
     public record struct SplinePathArgs(SimplePathArgs Args)
index f7bcd019f5fbd00f5d35427765bcc9bf614b2dde..11ac93876ef1396d76fa7dff984eda022a5e8e08 100644 (file)
@@ -84,6 +84,6 @@ public sealed partial class PathfindingSystem
 
         public float MaxWiden = 7f;
 
-        public List<Vector2i> Path;
+        public required List<Vector2i> Path;
     }
 }
index f7b9475cb577c8facefb98a7774650043332b57f..c346d08536d754b25b23f19eb0e045d80150845b 100644 (file)
@@ -66,5 +66,5 @@ public record struct GenerateDnaEvent()
     /// <summary>
     /// The generated DNA.
     /// </summary>
-    public string DNA;
+    public required string DNA;
 }
index bdc62a6bb3788e63a6f330aed36997f6f7612a2b..d3416949d536ff6f26504a80183300ba27bcc81f 100644 (file)
@@ -56,6 +56,7 @@ public sealed class StationAiVisionSystem : EntitySystem
             EntManager = EntityManager,
             Maps = _maps,
             System = this,
+            VisibleTiles = _singleTiles,
         };
     }
 
@@ -278,7 +279,7 @@ public sealed class StationAiVisionSystem : EntitySystem
     /// </summary>
     private record struct SeedJob() : IRobustJob
     {
-        public StationAiVisionSystem System;
+        public required StationAiVisionSystem System;
 
         public Entity<MapGridComponent> Grid;
         public Box2 ExpandedBounds;
@@ -293,14 +294,14 @@ public sealed class StationAiVisionSystem : EntitySystem
     {
         public int BatchSize => 1;
 
-        public IEntityManager EntManager;
-        public SharedMapSystem Maps;
-        public StationAiVisionSystem System;
+        public required IEntityManager EntManager;
+        public required SharedMapSystem Maps;
+        public required StationAiVisionSystem System;
 
         public Entity<MapGridComponent> Grid;
         public List<Entity<StationAiVisionComponent>> Data = new();
 
-        public HashSet<Vector2i> VisibleTiles;
+        public required HashSet<Vector2i> VisibleTiles;
 
         public readonly List<Dictionary<Vector2i, int>> Vis1 = new();
         public readonly List<Dictionary<Vector2i, int>> Vis2 = new();