示例#1
0
        public void OnPong(BattlePongEvent e, BattleUserWithPingNode battleUser)
        {
            BattlePingResultEvent eventInstance = new BattlePingResultEvent {
                ClientSendRealTime    = e.ClientSendRealTime,
                ClientReceiveRealTime = UnityTime.realtimeSinceStartup
            };
            int ping = (int)(1000f * Mathf.Clamp((float)(UnityTime.realtimeSinceStartup - e.ClientSendRealTime), (float)0f, (float)10f));

            battleUser.battlePing.add(ping);
            base.ScheduleEvent(eventInstance, battleUser);
        }
示例#2
0
        public void PeriodicPing(PeriodicPingStartEvent e, BattleUserWithPingNode battleUser)
        {
            float realtimeSinceStartup = UnityTime.realtimeSinceStartup;

            if (realtimeSinceStartup >= (battleUser.battlePing.LastPingTime + 5f))
            {
                battleUser.battlePing.LastPingTime = realtimeSinceStartup;
                BattlePingEvent eventInstance = new BattlePingEvent {
                    ClientSendRealTime = UnityTime.realtimeSinceStartup
                };
                base.ScheduleEvent(eventInstance, battleUser);
            }
        }