示例#1
0
        public void OnServerConnect(Player player)
        {
            var mymod = ModHelpersMod.Instance;

            this.HasSyncedModSettings = true;
            this.HasSyncedWorldData   = true;
            this.IsSynced             = true;   // Technically this should only be set upon sync receipt of player's 'old' uid...

            var args = new PlayerLogicPromiseArguments {
                Who = player.whoAmI
            };

            Promises.TriggerValidatedPromise(PlayerLogic.ServerConnectValidator, PlayerLogic.MyValidatorKey, args);

            PacketProtocolSentToEither.QuickRequestToClient <PlayerOldIdProtocol>(player.whoAmI, -1, -1);
            PacketProtocolSentToEither.QuickRequestToClient <PlayerNewIdProtocol>(player.whoAmI, -1, -1);
        }
        public void PreUpdateClient(Player player)
        {
            this.PreUpdateLocal(player);

            var mymod = ModHelpersMod.Instance;

            if (player.whoAmI == Main.myPlayer)                // Current player
            {
                var myworld = mymod.GetModWorld <ModHelpersWorld>();
                myworld.WorldLogic.PreUpdateClient();
            }

            // Update ping every 15 seconds
            if (mymod.Config.IsServerGaugingAveragePing && this.TestPing++ > mymod.Config.PingUpdateDelay)
            {
                PacketProtocolSentToEither.QuickSendToServer <PingProtocol>();
                this.TestPing = 0;
            }
        }
示例#3
0
 public void OnCurrentClientConnect(Player player)
 {
     PacketProtocolSentToEither.QuickSendToServer <PlayerNewIdProtocol>();
 }
示例#4
0
 public static void QuickRequestToClient(int playerWho)
 {
     PacketProtocolSentToEither.QuickRequestToClient <PlayerNewIdProtocol>(playerWho, -1, -1);
 }
示例#5
0
 public static void QuickSendToServer()
 {
     PacketProtocolSentToEither.QuickSendToServer <PingProtocol>();
 }