Beispiel #1
0
 private void Update()
 {
     for (int i = clockDatas.Count - 1; i >= 0; --i)
     {
         ClockData clockData = clockDatas[i];
         if (clockData != null)
         {
             if (clockData.waitTimeMS <= 0)
             {
                 clockData.callBack.InvokeSafely();
                 clockDatas.Remove(clockData);
             }
             else
             {
                 float deltaTime = clockData.bIgnoreTime ? Time.unscaledDeltaTime : Time.deltaTime;
                 clockData.waitTimeMS += deltaTime;
             }
         }
     }
 }
Beispiel #2
0
        void FixedUpdate()
        {
            if (IsFirstFixedUpdate)
            {
                if (Bridge != null && Bridge.Status == Status.Connected)
                {
                    lock (MessageQueue)
                    {
                        MessageQueue.Clear();
                    }
                }
                IsFirstFixedUpdate = false;
            }

            var time = SimulatorManager.Instance.CurrentTime;

            if (time < LastTimestamp)
            {
                return;
            }

            var data = new ClockData()
            {
                Clock = time,
            };

            latestData = data;

            if (Bridge != null && Bridge.Status == Status.Connected)
            {
                lock (MessageQueue)
                {
                    MessageQueue.Enqueue(Tuple.Create(time, Time.fixedDeltaTime,
                                                      (Action)(() => Publish(data, () => Sending = false))));
                }
            }
        }
Beispiel #3
0
 /// <summary>
 /// Called when a move is received.
 /// </summary>
 /// <param name="ws">The websocket.</param>
 /// <param name="message">The message.</param>
 private void OnMove(WebSocketBase ws, MMove message)
 {
     ProcessGameMessage(message);
     curClock = message.Data.Clock;
     OnGameMove?.Invoke(this, new LilaGameMoveEvent(Client, this, message.Data));
 }
Beispiel #4
0
 /// <summary>
 /// Called when the clock is updated.
 /// </summary>
 /// <param name="ws">The websocket.</param>
 /// <param name="message">The message.</param>
 private void OnClock(WebSocketBase ws, Messages.MClock message)
 {
     ProcessGameMessage(message);
     curClock = message.Data;
 }
Beispiel #5
0
 private void Qlock_Loaded(object sender, RoutedEventArgs e)
 {
     ClockData.Run();
 }