private void updateSampling(float delta) { timeCounter += delta; float interval = 1.0f / SampleRate; if(timeCounter > interval) { timeCounter -= interval; //tracks movement and direction if(firstTimeSample || Vector3.Distance(lastSamplePos,PlayerObject.Position) >= SampleDiff) { MovementAction mAction = new MovementAction(); mAction.Record(PlayerObject.Position); ActionTracker.TrackAction(mAction); lastSamplePos = PlayerObject.Position; } if(firstTimeSample || Vector3.Distance(lastSampleDir,PlayerObject.DirectionAngle) >= SampleDiff) { LookAction lAction = new LookAction(); lAction.Record(PlayerObject.DirectionAngle); ActionTracker.TrackAction(lAction); lastSampleDir = PlayerObject.DirectionAngle; } if(firstTimeSample) firstTimeSample = false; } }