MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / OnUpdate

Method OnUpdate

Source/Engine/Networking/Drivers/NetworkLagDriver.cpp:189–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187}
188
189void NetworkLagDriver::OnUpdate()
190{
191 if (!_driver)
192 return;
193
194 // Update all pending messages and events
195 const double deltaTime = Time::Update.UnscaledDeltaTime.GetTotalMilliseconds();
196 for (int32 i = 0; i < _messages.Count(); i++)
197 {
198 auto& msg = _messages[i];
199 msg.Lag -= deltaTime;
200 if (msg.Lag > 0.0)
201 continue;
202
203 // Use this helper message as a container to send the stored data and length to the ENet driver
204 NetworkMessage message;
205 message.Buffer = msg.MessageData.Get();
206 message.Length = msg.MessageLength;
207
208 switch (msg.Type)
209 {
210 case 0:
211 _driver->SendMessage(msg.ChannelType, message);
212 break;
213 case 1:
214 _driver->SendMessage(msg.ChannelType, message, msg.Target);
215 break;
216 case 2:
217 _driver->SendMessage(msg.ChannelType, message, msg.Targets);
218 break;
219 }
220 _messages.RemoveAt(i);
221 }
222 for (int32 i = 0; i < _events.Count(); i++)
223 {
224 auto& e = _events[i];
225 e.Lag -= deltaTime;
226 }
227}

Callers

nothing calls this directly

Calls 4

CountMethod · 0.45
GetMethod · 0.45
SendMessageMethod · 0.45
RemoveAtMethod · 0.45

Tested by

no test coverage detected