From 251ee2121a870bd8210830a8bdb943f64c00e030 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sat, 2 Jan 2021 12:33:19 -0500 Subject: fix players in split-screen mode sharing peer state (#747) --- src/SMAPI/Framework/SMultiplayer.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/SMAPI/Framework/SMultiplayer.cs') diff --git a/src/SMAPI/Framework/SMultiplayer.cs b/src/SMAPI/Framework/SMultiplayer.cs index f3b5e9b9..2f89fce9 100644 --- a/src/SMAPI/Framework/SMultiplayer.cs +++ b/src/SMAPI/Framework/SMultiplayer.cs @@ -10,6 +10,7 @@ using StardewModdingAPI.Framework.Events; using StardewModdingAPI.Framework.Networking; using StardewModdingAPI.Framework.Reflection; using StardewModdingAPI.Toolkit.Serialization; +using StardewModdingAPI.Utilities; using StardewValley; using StardewValley.Network; using StardewValley.SDKs; @@ -54,15 +55,25 @@ namespace StardewModdingAPI.Framework /// Whether to log network traffic. private readonly bool LogNetworkTraffic; + /// The backing field for . + private readonly PerScreen> PeersImpl = new(() => new Dictionary()); + + /// The backing field for . + private readonly PerScreen HostPeerImpl = new(); + /********* ** Accessors *********/ /// The metadata for each connected peer. - public IDictionary Peers { get; } = new Dictionary(); + public IDictionary Peers => this.PeersImpl.Value; /// The metadata for the host player, if the current player is a farmhand. - public MultiplayerPeer HostPeer; + public MultiplayerPeer HostPeer + { + get => this.HostPeerImpl.Value; + private set => this.HostPeerImpl.Value = value; + } /********* -- cgit