Пример #1
0
 public void OnPlayerDisconnected(object sender, PlayerDisconnectedEventArgs args)
 {
     lock ( _lock ) {
         //try to
         _tracker.RemovePlayer(args.Player);
     }
 }
Пример #2
0
 protected virtual void InvokeOnPlayerDisconnected(PlayerDisconnectedEventArgs e)
 {
     if (onPlayerDisconnected != null)
     {
         onPlayerDisconnected.Invoke(this, e);
     }
 }
Пример #3
0
            private void OnPlayerDisconnected(object sender,
                                              PlayerDisconnectedEventArgs playerDisconnectedEventArgs)
            {
                if (IsExpired)
                {
                    return;
                }

                Player player = playerDisconnectedEventArgs.Player;

                if (!playerDisconnectedEventArgs.IsFake)
                {
                    if (player == TargetPlayer)
                    {
                        RaiseExpiredEvent(ExpirationReasonType.TargetPlayerLeft);

                        SendExpirationMessage(false, true, "they left the server.");

                        return;
                    }

                    if (player == RequestingPlayer)
                    {
                        RaiseExpiredEvent(ExpirationReasonType.RequestingPlayerLeft);

                        SendExpirationMessage(true, false, "they left the server.");
                    }
                }
            }
        public static void PlayerDisconnected(this Multiplayer multiplayer, Farmer farmer)
        {
            PlayerDisconnectedEventArgs args = new PlayerDisconnectedEventArgs {
                Player = farmer
            };

            OnPlayerDisconnected(null, args);
        }
Пример #5
0
        public static void PlayerDisconnected(object sender, PlayerDisconnectedEventArgs e)
        {
            try {
                if (e.Player.World != null)
                {
                    if (e.Player.World.IsLoaded)
                    {
                        Map map = e.Player.World.Map;

                        if (e.Player.orangePortal.Count > 0)
                        {
                            int i = 0;

                            foreach (Vector3I block in e.Player.orangePortal)
                            {
                                map.QueueUpdate(new BlockUpdate(null, block, e.Player.orangeOld[i]));

                                i++;
                            }

                            e.Player.orangeOld.Clear();
                            e.Player.orangePortal.Clear();
                        }

                        if (e.Player.bluePortal.Count > 0)
                        {
                            int i = 0;

                            foreach (Vector3I block in e.Player.bluePortal)
                            {
                                map.QueueUpdate(new BlockUpdate(null, block, e.Player.blueOld[i]));

                                i++;
                            }

                            e.Player.blueOld.Clear();
                            e.Player.bluePortal.Clear();
                        }
                    }
                    else
                    {
                        if (e.Player.bluePortal.Count > 0)
                        {
                            e.Player.World.Map.Blocks[e.Player.World.Map.Index(e.Player.bluePortal[0])] = (byte)e.Player.blueOld[0];
                            e.Player.World.Map.Blocks[e.Player.World.Map.Index(e.Player.bluePortal[1])] = (byte)e.Player.blueOld[1];
                        }

                        if (e.Player.orangePortal.Count > 0)
                        {
                            e.Player.WorldMap.Blocks[e.Player.WorldMap.Index(e.Player.orangePortal[0])] = (byte)e.Player.orangeOld[0];
                            e.Player.WorldMap.Blocks[e.Player.WorldMap.Index(e.Player.orangePortal[1])] = (byte)e.Player.orangeOld[1];
                        }
                    }
                }
            } catch (Exception ex) {
                Logger.Log(LogType.SeriousError, "GunPortalDisconnected: " + ex);
            }
        }
        //TODO: Not in use, remove if not needed
        public static void PlayerDisconnected(this Multiplayer multiplayer, IncomingMessage msg)
        {
            PlayerDisconnectedEventArgs args = new PlayerDisconnectedEventArgs {
                Player = msg.SourceFarmer
            };

            ModEntry.ModMonitor.Log("PlayerDisconnected(this Multiplayer multiplayer, IncomingMessage msg)");
            OnPlayerDisconnected(null, args);
        }
Пример #7
0
 internal static void PlayerDisconnectedHandler(object sender, PlayerDisconnectedEventArgs e)
 {
     if (e.Player.HasFullyConnected && ConfigKey.IRCBotAnnounceServerJoins.Enabled() && (e.IsFake || !e.Player.Info.IsHidden))
     {
         string message = String.Format("{0}&S* {1}&S left the server ({2})",
                                        Color.IRCBold,
                                        e.Player.ClassyName,
                                        e.LeaveReason);
         SendAction(message);
     }
 }
Пример #8
0
 internal static void PlayerDisconnectedHandler(object sender, PlayerDisconnectedEventArgs e)
 {
     if (e.Player.Session.IsReady && ConfigKey.IRCBotAnnounceServerJoins.GetBool() && !e.Player.IsHidden)
     {
         string message = String.Format("{0}&S* {1}&S left the server ({2})",
                                        Color.IRCBold,
                                        e.Player.GetClassyName(),
                                        e.LeaveReason);
         SendAction(message);
     }
 }
Пример #9
0
        private void MultiplayerExtension_OnPlayerDisconnected(object sender, PlayerDisconnectedEventArgs e)
        {
#if DEBUG
            ModEntry.ModLogger.LogTrace();
#endif
            if (SynchronizedPlayerTextureData.ContainsKey(e.Player.UniqueMultiplayerID))
            {
                UpdateTotalEmojis(TotalNumberEmojis - SynchronizedPlayerTextureData[e.Player.UniqueMultiplayerID].Count);
                SynchronizedPlayerTextureData.Remove(e.Player.UniqueMultiplayerID);
            }

            CurrentTexture = MergeTextures(VanillaTexture, SynchronizedPlayerTextureData.Values);

            // Replace with the new texture
            modHelper.Reflection.GetField <Texture2D>(Game1.chatBox.emojiMenu, "emojiTexture").SetValue(CurrentTexture);
            ChatBox.emojiTexture = CurrentTexture;
            //Game1.chatBox.emojiMenu.receiveScrollWheelAction(1);
            //Game1.chatBox.emojiMenu.receiveScrollWheelAction(-1);

            // Update client textures
            Multiplayer multiplayer = modHelper.Reflection.GetField <Multiplayer>(typeof(Game1), "multiplayer").GetValue();
            multiplayer.BroadcastEmojiTexture(CurrentTexture, TotalNumberEmojis);
        }
Пример #10
0
 /// <summary>
 ///     Dispatches the <see cref="PlayerDisconnected"/> event asynchronously.
 /// </summary>
 /// <param name="eventArgs">the event arguments passed with the event</param>
 /// <returns>a task that represents the asynchronous operation</returns>
 protected virtual Task OnPlayerDisconnectedAsync(PlayerDisconnectedEventArgs eventArgs)
 => PlayerDisconnected.InvokeAsync(this, eventArgs);
Пример #11
0
 /// <summary>
 ///     Notifies a player disconnect asynchronously.
 /// </summary>
 /// <param name="eventArgs">the event arguments passed with the event</param>
 /// <returns>a task that represents the asynchronously operation.</returns>
 protected internal override Task NotifyDisconnectAsync(PlayerDisconnectedEventArgs eventArgs)
 => OnPlayerDisconnectedAsync(eventArgs);
Пример #12
0
 /// <summary>
 ///     Notifies a player disconnect asynchronously.
 /// </summary>
 /// <param name="eventArgs">the event arguments passed with the event</param>
 /// <returns>a task that represents the asynchronously operation.</returns>
 protected internal virtual Task NotifyDisconnectAsync(PlayerDisconnectedEventArgs eventArgs)
 => Task.CompletedTask;
Пример #13
0
 public static void OnPlayerDisconnected(object sender, PlayerDisconnectedEventArgs e)
 {
     trapinfo.Remove(e.Player);
 }
Пример #14
0
        public override void OnDisconnected(PlayerDisconnectedEventArgs e)
        {
            DisposeVehicle();

            base.OnDisconnected(e);
        }