minor change: init the files in level-editor.
[uxul-world.git] / small-classes.lisp
index a78c607..cd597c5 100755 (executable)
@@ -2,6 +2,14 @@
 
 (in-package :uxul-world)
 
+(defclass anchor (game-object)
+  ((dungeon :initform nil
+           :initarg :dungeon
+           :accessor dungeon))
+   (:documentation "This object ist just to make it easier to handle
+   positions in the game, i.e. for bounding-rects for
+   burning-marshmallows, etc."))
+
 (defclass leaf (bottom)
   ((animation :initarg :animation
              :accessor animation
          :initform 128)
    (height :initarg :height
           :accessor :height
-          :initform 128)))
\ No newline at end of file
+          :initform 128)))
+
+(defclass key (standing-item)
+  ((animation :initarg :animation
+             :accessor animation
+             :initform (make-animation 0 |key|))
+   (width :initarg :width
+         :accessor width
+         :initform 128)
+   (height :initarg :height
+          :accessor height
+          :initform 128)
+   (dungeon :initarg :dungeon
+           :accessor dungeon
+           :initform nil
+           :documentation "To provide information in which rooms this key can be used.")))
+
+(defclass door (stone)
+  ((animation :initarg :animation
+             :accessor animation
+             :initform (make-animation 0 |door|))
+   (width :initarg :width
+         :accessor width
+         :initform 128)
+   (height :initarg :height
+          :accessor height
+          :initform 128)
+   (dungeon :initarg :dungeon
+           :accessor dungeon
+           :initform nil
+           :documentation "To provide information in which room this door is.")))
\ No newline at end of file