-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathcomps.cljs
More file actions
106 lines (79 loc) · 1.96 KB
/
comps.cljs
File metadata and controls
106 lines (79 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
(ns game.comps
(:require-macros [game.lib.macros :refer [component]]))
(def ^:dynamic pos-offset 0)
(component position [x y a]
:x (+ pos-offset x)
:y y
:a (or a 0))
(component dimensions [w h]
:w w
:h h
:hw (/ w 2)
:hh (/ h 2))
(component renderable [func]
:fn func)
(component backing-layer [])
(component terrain-layer [])
(component object-layer [])
(component overlay-layer [])
(component player-actions []
:can-act? true
:move-left false
:move-right false
:chroma false
:jump false)
(component synced []
:last-actions (js-obj))
(component jump []
:count 0
:ground-count 0
:falling false
:ground true)
(component blocked []
:left false
:right false)
(component camera [])
(component player [current?]
:current current?)
(component opponent [])
(component chroma [color]
:count 0
:color color
:active true)
(component chroma-activated [color]
:color color
:active true)
(component health []
:dead false
:count false)
(component spawn [x y]
:respawn false
:x (+ pos-offset x)
:y y)
(component respawn [x y]
:x (+ pos-offset x)
:y y)
(component trippable []
:active false)
(component deadly [])
(component bouncy []
:count 0)
(component chromaton [v]
:value (or v 1))
(component points []
:points 0)
(component solid [])
(component animated [anim]
:animation anim
:frame -1
:count 0)
(component single-use [count]
:counting false
:count (or count 0))
(component keyboard [])
(component facing []
:dir :right)
(component hint [hint]
:hint hint)
(component func-activate [func]
:fn func)