Skip to content

Commit 5dc2c6d

Browse files
committed
fixing issue with UpdateRunner using wrong dt when updating subscribers
1 parent 877629a commit 5dc2c6d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Assets/Scripts/Infrastructure/UpdateRunner.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class SubscriberData
1414
{
1515
public float Period;
1616
public float NextCallTime;
17+
public float LastCallTime;
1718
}
1819

1920
readonly Queue<Action> m_PendingHandlers = new Queue<Action>();
@@ -56,7 +57,7 @@ public void Subscribe(Action<float> onUpdate, float updatePeriod)
5657
{
5758
if (m_Subscribers.Add(onUpdate))
5859
{
59-
m_SubscriberData.Add(onUpdate, new SubscriberData() { Period = updatePeriod, NextCallTime = 0 });
60+
m_SubscriberData.Add(onUpdate, new SubscriberData() { Period = updatePeriod, NextCallTime = 0, LastCallTime = Time.time });
6061
}
6162
});
6263
}
@@ -90,7 +91,8 @@ void Update()
9091

9192
if (Time.time >= subscriberData.NextCallTime)
9293
{
93-
subscriber.Invoke(Time.deltaTime);
94+
subscriber.Invoke(Time.time - subscriberData.LastCallTime);
95+
subscriberData.LastCallTime = Time.time;
9496
subscriberData.NextCallTime = Time.time + subscriberData.Period;
9597
}
9698
}

0 commit comments

Comments
 (0)