diff options
Diffstat (limited to 'src/core-units/container.lisp')
-rw-r--r-- | src/core-units/container.lisp | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/core-units/container.lisp b/src/core-units/container.lisp deleted file mode 100644 index af01ff1..0000000 --- a/src/core-units/container.lisp +++ /dev/null @@ -1,32 +0,0 @@ -;;;; units/container.lisp - -(in-package #:wheelwork) - - -(defclass/std container (unit) - ((units :with :a)) - (:documentation "Just a list of units. Made into a class so that - transformation affine transformations methods can be specialzied on - whole groups of units")) - -(defmethod drop-unit ((unit unit)) - "Removes a unit from its container. Returns T if the unit actually was removed." - (when-let (container (unit-container unit)) - (setf - (container-units container) (delete unit (container-units container)) - (unit-container unit) nil) - t)) - -(defmethod add-unit ((container container) (unit unit)) - "Adds a unit to the end of a container (thus affecting render -order). Makes sure to remove the unit from its current container if -necessary." - (when (unit-container unit) - (drop-unit unit)) - (push unit (container-units container)) - (setf (unit-container unit) container) - unit) - -(defmethod cleanup ((container container)) - (dolist (u (container-units container)) - (cleanup u))) |