Exemple #1
0
        public void CompensationSnapshot()
        {
            var       sessionObjects        = _contexts.session.serverSessionObjects;
            int       snapshotSeq           = sessionObjects.GetNextSnapshotSeq();
            int       vehicleSimulationTime = sessionObjects.SimulationTimer.CurrentTime;
            int       serverTime            = _contexts.session.currentTimeObject.CurrentTime;
            ISnapshot compensationSnapshot  = _snapshotFactory.GenerateCompensationSnapshot();

            compensationSnapshot.ServerTime            = serverTime;
            compensationSnapshot.SnapshotSeq           = snapshotSeq;
            compensationSnapshot.VehicleSimulationTime = vehicleSimulationTime;
            _compensationSnapshotPool.AddSnapshot(compensationSnapshot);
            compensationSnapshot.ReleaseReference();
        }
        public void Dispose()
        {
            foreach (var snapshot in _sentSnapshot.Values)
            {
                snapshot.ReleaseReference();
            }
            _sentSnapshot.Clear();
            _sentSnapshot = null;

            _snapshotQueue.Clear();
            _snapshotQueue = null;


            _emptySnapshot.ReleaseReference();
            _emptySnapshot = null;
        }