123456789101112131415161718192021222324252627282930 |
- (ns bombnet.web.core
- (:require [cljs.core.async :refer [<! >! chan]]
- [bombnet.web.game :refer [init-game key-handler msg-handler]]
- [bombnet.web.ws :refer [send! connect]])
- (:require-macros [cljs.core.async.macros :refer [go]]))
- (defn attach-msg-handler [game]
- (let [{[in out] :conn} @game]
- (go (loop []
- (let [msg (<! in)] (msg-handler game msg))
- (recur)))))
- (defn attach-key-handler [game]
- (.addEventListener
- js/document
- "keydown"
- (fn [e]
- (key-handler game (.. e -keyCode)))))
- (defn init []
- (let [id (str (rand-int 1000000))
- conn (connect "test" id)
- game (init-game id conn)]
- (.log js/console "Initializing")
- (send! conn {:type "join"})
- (attach-msg-handler game)
- (attach-key-handler game)
- game))
- (defonce game (init))
|