UNPKG

@needle-tools/engine

Version:

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.

28 lines 1.09 kB
const $objectAnimationKey = Symbol("objectIsAnimatedData"); /** Internal method - This marks an object as being animated. Make sure to always call isAnimated=false if you stop animating the object * @param obj The object to mark * @param isAnimated Whether the object is animated or not */ export function setObjectAnimated(obj, animatedBy, isAnimated) { if (!obj) return; if (obj[$objectAnimationKey] === undefined) { if (!isAnimated) return; obj[$objectAnimationKey] = new Set(); } const set = obj[$objectAnimationKey]; if (isAnimated) { set.add(animatedBy); } else if (set.has(animatedBy)) set.delete(animatedBy); } /** Get is the object is currently animated. Currently used by the Animator to check if a timeline animationtrack is actively animating an object */ export function getObjectAnimated(obj) { if (!obj) return false; const set = obj[$objectAnimationKey]; return set !== undefined && set.size > 0; } //# sourceMappingURL=AnimationUtils.js.map