@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
24 lines • 1.84 kB
JavaScript
export class AccessorProxy {
constructor(attributeName) {
this.attributeName = attributeName;
this.accessor = null;
this._dataset = undefined;
this.get = (index, dimension) => this.accessor?.get(index, dimension) ?? 0;
this.set = (value, index, dimension) => {
const { accessor } = this;
if (!accessor)
return;
accessor.set(value, index, dimension);
};
}
get dataset() {
return this._dataset;
}
set dataset(value) {
this._dataset = value;
if (value) {
this.accessor = value.getAttribAccessor(this.attributeName);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zcHJpdGVzL2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxhQUFhO0lBSXRCLFlBQTRCLGFBQXFCO1FBQXJCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBSHpDLGFBQVEsR0FBb0IsSUFBSSxDQUFBO1FBQ2hDLGFBQVEsR0FBMkIsU0FBUyxDQUFBO1FBYTNDLFFBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxTQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWxHLFFBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsU0FBOEIsRUFBRSxFQUFFO1lBQzVFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDekIsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTTtZQUVyQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDekMsQ0FBQyxDQUFBO0lBbEJtRCxDQUFDO0lBRXJELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBNkI7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvRCxDQUFDO0lBQ0wsQ0FBQztDQVNKIn0=