diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-01-03 14:31:27 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-01-03 14:31:27 -0500 |
commit | 04c6733adae9ce568aefb5d9dee6101097e994c5 (patch) | |
tree | c93f0650f6f79a95016c29526f8af437ad91a815 /src/SMAPI/Framework/SMultiplayer.cs | |
parent | 48bb1581a6adeabfefbdd774011796e09a07aae2 (diff) | |
parent | 2b3f0506a16622b25a702aae250e10005287c4f4 (diff) | |
download | SMAPI-04c6733adae9ce568aefb5d9dee6101097e994c5.tar.gz SMAPI-04c6733adae9ce568aefb5d9dee6101097e994c5.tar.bz2 SMAPI-04c6733adae9ce568aefb5d9dee6101097e994c5.zip |
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI/Framework/SMultiplayer.cs')
-rw-r--r-- | src/SMAPI/Framework/SMultiplayer.cs | 15 |
1 files changed, 13 insertions, 2 deletions
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 /// <summary>Whether to log network traffic.</summary> private readonly bool LogNetworkTraffic; + /// <summary>The backing field for <see cref="Peers"/>.</summary> + private readonly PerScreen<IDictionary<long, MultiplayerPeer>> PeersImpl = new(() => new Dictionary<long, MultiplayerPeer>()); + + /// <summary>The backing field for <see cref="HostPeer"/>.</summary> + private readonly PerScreen<MultiplayerPeer> HostPeerImpl = new(); + /********* ** Accessors *********/ /// <summary>The metadata for each connected peer.</summary> - public IDictionary<long, MultiplayerPeer> Peers { get; } = new Dictionary<long, MultiplayerPeer>(); + public IDictionary<long, MultiplayerPeer> Peers => this.PeersImpl.Value; /// <summary>The metadata for the host player, if the current player is a farmhand.</summary> - public MultiplayerPeer HostPeer; + public MultiplayerPeer HostPeer + { + get => this.HostPeerImpl.Value; + private set => this.HostPeerImpl.Value = value; + } /********* |