BattleSim/client/app/js/client.coffee

47 lines
1.5 KiB
CoffeeScript

return if PokeBattle.autoConnect == false
PokeBattle.primus = Primus.connect()
PokeBattle.primus.on 'listChatroom', (id, users) ->
if room = PokeBattle.rooms.get(id: id)
room.get('users').reset(users)
else
room = PokeBattle.rooms.add(id: id, users: users)
new ChatView(model: room, el: $('#chat-section .chat')).render()
PokeBattle.primus.on 'userMessage', (id, username, data) ->
room = PokeBattle.rooms.get(id)
room.userMessage(username, data)
PokeBattle.primus.on 'rawMessage', (id, message) ->
room = PokeBattle.rooms.get(id)
room.rawMessage(message)
PokeBattle.primus.on 'announce', (id, klass, message) ->
room = PokeBattle.rooms.get(id)
room.announce(klass, message)
PokeBattle.primus.on 'joinChatroom', (id, user) ->
room = PokeBattle.rooms.get(id)
room.get('users').add(user)
PokeBattle.primus.on 'leaveChatroom', (id, user) ->
room = PokeBattle.rooms.get(id)
room.get('users').remove(user)
PokeBattle.primus.on 'topic', (topic) ->
# TODO: Hardcoded
room = PokeBattle.rooms.get("Lobby")
room.setTopic(topic)
PokeBattle.userList = new UserList()
PokeBattle.battles = new BattleCollection([])
PokeBattle.messages = new PrivateMessages([])
PokeBattle.rooms = new Rooms([])
$ ->
PokeBattle.navigation = new SidebarView(el: $('#navigation'))
PokeBattle.teambuilder = new TeambuilderView(el: $("#teambuilder-section"))
PokeBattle.battleList = new BattleListView(el: $("#battle-list-section"))
new PrivateMessagesView(el: $("#messages"), collection: PokeBattle.messages)