Files
lik/ts/classes.looptracker.ts

38 lines
769 B
TypeScript
Raw Normal View History

2024-02-25 13:01:06 +01:00
import * as plugins from './classes.plugins.js';
2017-07-05 14:29:08 +02:00
2024-02-25 13:01:06 +01:00
import { ObjectMap } from './classes.objectmap.js';
2017-07-05 14:29:08 +02:00
export class LoopTracker<T> {
referenceObjectMap = new ObjectMap<any>();
constructor() {
2017-07-05 14:29:08 +02:00
// nothing here
}
/**
* checks and tracks an object
* @param objectArg
*/
checkAndTrack(objectArg: T): boolean {
if (!this.referenceObjectMap.checkForObject(objectArg)) {
this.referenceObjectMap.add(objectArg);
return true;
} else {
return false;
}
2017-07-05 14:29:08 +02:00
}
/**
* resets the loop tracker, clearing all tracked objects
*/
public reset() {
this.referenceObjectMap.wipe();
}
/**
* destroys the loop tracker and its underlying ObjectMap
*/
public destroy() {
this.referenceObjectMap.destroy();
}
2017-07-05 14:29:08 +02:00
}