private void Rollback(INetworkTimeline timeline) { var timePointWithLerp = defaultTimePointWithLerpDict[timeline]; if (UseForecast && !timePointWithLerp.IsPlaying && timePointWithLerp.ForecastData.Count > 0 && timePointWithLerp.RealtimeData.Count > 0) { for (int i = timePointWithLerp.RollbackData.Count - 1; i >= 0; i--) { timeline.Reverse(new ReverseTimelineData(null, timePointWithLerp.RollbackData[i])); } timePointWithLerp.RollbackData.Clear(); } }
private void Rollback(IEntity entity, INetworkTimeline timeline) { var networkIdentityComponent = entity.GetComponent <NetworkIdentityComponent>(); var identity = networkIdentityComponent.Identity; var timePointWithLerp = timePointWithLerpDict[identity][timeline]; if (UseForecast && !timePointWithLerp.IsPlaying && timePointWithLerp.ForecastData.Count > 0 && timePointWithLerp.RealtimeData.Count > 0) { for (int i = timePointWithLerp.RollbackData.Count - 1; i >= 0; i--) { timeline.Reverse(new ReverseTimelineData(entity, timePointWithLerp.RollbackData[i])); } timePointWithLerp.RollbackData.Clear(); } }