OSDN Git Service

Nazghul-0.7.1
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / bridge.scm
1
2 ;; The 'init signal is sent after the instance is created. This is our chance
3 ;; to initialize fields to non-default values. Note: all the pclass values are
4 ;; defined in game.scm.
5 (define (bridge-init kbridge)
6   (kern-obj-set-pclass kbridge pclass-bridge))
7
8 ;; Define the interface for the type
9 (define bridge-ifc
10   (ifc '()
11        (method 'init bridge-init)))
12
13 ;; Make an object type. This is like a "class" in OO languages.
14 (mk-obj-type 'TF_ew_bridge  ;; tag
15              "bridge"       ;; name
16              s_ew_bridge    ;; sprite
17              layer-tfeat    ;; stacking layer
18              bridge-ifc     ;; interface
19              )
20
21 (mk-obj-type 'TF_ns_bridge  ;; tag
22              "bridge"       ;; name
23              s_ns_bridge    ;; sprite
24              layer-tfeat    ;; stacking layer
25              bridge-ifc     ;; interface
26              )
27 ;; ----------------------------------------------------------------------------
28 ;; mk-bridge -- 'dir' is the orientation, one of the four cardinal directions
29 ;; and should be prepended by a single tick when called, as in 'north 'south
30 ;; 'east and 'west
31 ;; ----------------------------------------------------------------------------
32 (define (mk-bridge dir)
33   (case dir
34     ((north) (bind (kern-mk-obj TF_ns_bridge 1) nil))
35     ((south) (bind (kern-mk-obj TF_ns_bridge 1) nil))
36     (else (bind (kern-mk-obj TF_ew_bridge 1) nil))))