Skip to content

Commit

Permalink
cleanup after js2coffee
Browse files Browse the repository at this point in the history
  • Loading branch information
bzar committed Jan 12, 2013
1 parent 63fcbe3 commit 69a4a2d
Show file tree
Hide file tree
Showing 18 changed files with 271 additions and 332 deletions.
160 changes: 58 additions & 102 deletions client/src/Theme.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -2,106 +2,62 @@ define ->
class Theme
constructor: (@themeName) ->
@settings = {}
Theme::load = (callback) ->
that = this
$.getJSON "/img/themes/" + @themeName + "/settings.json", (data) ->
that.settings = data
sheet = that.settings.sheet
image = that.settings.image
sheetLayout = that.settings.sheetLayout
coords = {}
i = 0

while i < sheetLayout.length
name = sheetLayout[i]
if name isnt null
coords[name] =
x: Math.floor(i % sheet.cols) * image.width
y: Math.floor(i / sheet.cols) * image.height
++i
that.settings.sprites = coords
callback()


Theme::getSpriteSheetUrl = ->
"/img/themes/" + @themeName + "/" + @settings.sheet.filename

Theme::getCoordinates = (name) ->
return null if name is null or name is `undefined`
@settings.sprites[name]

Theme::getTileCoordinates = (tileType, tileSubtype, tileOwner) ->
@getCoordinates @settings.tiles[tileType][tileSubtype][tileOwner].hex

Theme::getTilePropCoordinates = (tileType, tileSubtype, tileOwner) ->
@getCoordinates @settings.tiles[tileType][tileSubtype][tileOwner].prop

Theme::getTileOffset = (tileType, tileSubtype, tileOwner) ->
@settings.tiles[tileType][tileSubtype][tileOwner].offset

Theme::getUnitCoordinates = (unitType, unitOwner) ->
@getCoordinates @settings.units[unitType][unitOwner]

Theme::getHealthNumberCoordinates = (healthNumber) ->
@getCoordinates @settings.numbers.health[healthNumber]

Theme::getDamageNumberCoordinates = (damageNumber) ->
@getCoordinates @settings.numbers.damage[damageNumber]

Theme::getDeployEmblemCoordinates = ->
@getCoordinates @settings.emblems.deploy

Theme::getPlayerColor = (playerNumber) ->
if playerNumber < @settings.playerColors.length
@settings.playerColors[playerNumber]
else
@settings.playerColors[0]

Theme::getPlayerColorString = (playerNumber) ->
c = @getPlayerColor(playerNumber)
"rgb(" + c.r + "," + c.g + "," + c.b + ")"

Theme::getNumberOfUnitTypes = ->
@settings.units.length

Theme::getNumberOfUnitOwners = (unitType) ->
@settings.units[unitType].length

Theme::getNumberOfTileTypes = ->
@settings.tiles.length

Theme::getNumberOfTileSubtypes = (tileType) ->
@settings.tiles[tileType].length

Theme::getNumberOfTileOwners = (tileType, tileSubtype) ->
@settings.tiles[tileType][tileSubtype].length

Theme::getAttackIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_attack.png"

Theme::getDeployIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_deploy.png"

Theme::getUndeployIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_undeploy.png"

Theme::getCaptureIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_capture.png"

Theme::getWaitIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_wait.png"

Theme::getLoadIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_load.png"

Theme::getUnloadIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_unload.png"

Theme::getCancelIconUrl = ->
"/img/themes/" + @themeName + "/gui/action_cancel.png"

Theme::getEraserIconUrl = ->
"/img/themes/" + @themeName + "/nothing.png"

Theme

load: (callback) ->
that = this
$.getJSON "/img/themes/#{@themeName}/settings.json", (data) ->
that.settings = data
sheet = that.settings.sheet
image = that.settings.image
sheetLayout = that.settings.sheetLayout
coords = {}
i = 0

while i < sheetLayout.length
name = sheetLayout[i]
if name isnt null
coords[name] =
x: Math.floor(i % sheet.cols) * image.width
y: Math.floor(i / sheet.cols) * image.height
++i
that.settings.sprites = coords
callback()


getSpriteSheetUrl: -> "/img/themes/#{@themeName}/" + @settings.sheet.filename
getCoordinates: (name) -> if name? then @settings.sprites[name] else null
getTileCoordinates: (tileType, tileSubtype, tileOwner) -> @getCoordinates @settings.tiles[tileType][tileSubtype][tileOwner].hex
getTilePropCoordinates: (tileType, tileSubtype, tileOwner) -> @getCoordinates @settings.tiles[tileType][tileSubtype][tileOwner].prop
getTileOffset: (tileType, tileSubtype, tileOwner) -> @settings.tiles[tileType][tileSubtype][tileOwner].offset
getUnitCoordinates: (unitType, unitOwner) -> @getCoordinates @settings.units[unitType][unitOwner]
getHealthNumberCoordinates: (healthNumber) -> @getCoordinates @settings.numbers.health[healthNumber]
getDamageNumberCoordinates: (damageNumber) -> @getCoordinates @settings.numbers.damage[damageNumber]
getDeployEmblemCoordinates: -> @getCoordinates @settings.emblems.deploy

getPlayerColor: (playerNumber) ->
if playerNumber < @settings.playerColors.length
@settings.playerColors[playerNumber]
else
@settings.playerColors[0]

getPlayerColorString: (playerNumber) ->
c = @getPlayerColor(playerNumber)
"rgb(#{c.r},#{c.g},#{c.b})"

getNumberOfUnitTypes: -> @settings.units.length
getNumberOfUnitOwners: (unitType) -> @settings.units[unitType].length
getNumberOfTileTypes: -> @settings.tiles.length
getNumberOfTileSubtypes: (tileType) -> @settings.tiles[tileType].length
getNumberOfTileOwners: (tileType, tileSubtype) -> @settings.tiles[tileType][tileSubtype].length
getAttackIconUrl: -> "/img/themes/#{@themeName}/gui/action_attack.png"
getDeployIconUrl: -> "/img/themes/#{@themeName}/gui/action_deploy.png"
getUndeployIconUrl: -> "/img/themes/#{@themeName}/gui/action_undeploy.png"
getCaptureIconUrl: -> "/img/themes/#{@themeName}/gui/action_capture.png"
getWaitIconUrl: -> "/img/themes/#{@themeName}/gui/action_wait.png"
getLoadIconUrl: -> "/img/themes/#{@themeName}/gui/action_load.png"
getUnloadIconUrl: -> "/img/themes/#{@themeName}/gui/action_unload.png"
getCancelIconUrl: -> "/img/themes/#{@themeName}/gui/action_cancel.png"
getEraserIconUrl: -> "/img/themes/#{@themeName}/nothing.png"

return Theme

4 changes: 2 additions & 2 deletions client/src/gamestatistics.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ require ["Theme", "gamenode", "base", "lib/d3/d3"], (Theme) ->
document.location = "/"
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
populateNavigation session
$("#backToGame").attr "href", "game.html?gameId=" + gameId
initialize client
)


initialize = (client) ->
client.stub.profile (response) ->
Expand Down
7 changes: 1 addition & 6 deletions client/src/info.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,14 @@ require ["Theme", "gamenode", "base"], (Theme) ->
theme = null
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
populateNavigation session
client.stub.profile (response) ->
theme = new Theme(response.profile.settings.gameTheme)
theme.load ->
client.stub.gameRules null, (rules) ->
populateInfo rules



)


populateInfo = (rules) ->
populateArmorNames rules
populateTerrainNames rules
Expand Down
4 changes: 2 additions & 2 deletions client/src/manual.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ require ["gamenode", "base"], ->
session = null
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
populateNavigation session
)



6 changes: 1 addition & 5 deletions client/src/mapeditor.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,14 @@ require ["Theme", "Map", "gamenode", "base"], (Theme, Map) ->
lastY = null
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
client.stub.profile (response) ->
theme = new Theme(response.profile.settings.gameTheme)
theme.load ->
mapPainter = new Map(`undefined`, 1.0, theme)
populateNavigation session
initializeMapEditor client


)


updatePalette = ->
playerSelection = $("#playerSelection")
terrainSelection = $("#terrainSelection")
Expand Down
9 changes: 2 additions & 7 deletions client/src/mygames.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,19 @@ require ["gamenode", "base"], ->
session = null
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
populateNavigation session
populateMyGames client
initializeChat client
)


populateMyGames = (client) ->
client.stub.myGames null, (response) ->
unless response.success
alert "Error loading games! " + response.reason
return
myGames = $("#myGames tbody")
i = 0

while i < response.games.length
game = response.games[i]
for game in response.games
row = $("<tr></tr>")
nameItem = $("<td></td>")
mapItem = $("<td></td>")
Expand Down Expand Up @@ -54,4 +50,3 @@ require ["gamenode", "base"], ->
row.append turnItem
$("a", row).attr "href", ((if game.state is "pregame" then "/pregame.html" else "game.html")) + "?gameId=" + game.gameId
myGames.append row
++i
8 changes: 2 additions & 6 deletions client/src/mymaps.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,14 @@ require ["Theme", "Map", "gamenode", "base"], (Theme, Map) ->
window.location.hash = initialPage
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
client.stub.profile (response) ->
theme = new Theme(response.profile.settings.gameTheme)
theme.load ->
mapPainter = new Map(`undefined`, `undefined`, theme)
mapPainter = new Map(null, null, theme)
populateNavigation session
populateMyMaps client


)


updatePageControls = ->
pages = $("#pages")
pages.empty()
Expand Down
47 changes: 19 additions & 28 deletions client/src/opengames.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,19 @@ require ["gamenode", "base"], ->
client = new GameNodeClient(Skeleton)
session = null
initialPage = /(\d+)/.exec(window.location.hash)
paginator = null

if initialPage isnt null
initialPage = parseInt(initialPage[1])
else
initialPage = 1
window.location.hash = initialPage

$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
populateNavigation session
populateOpenGames client
)


updatePageControls = ->
$("#firstPage").attr("href", "#" + paginator.firstPage()).toggle paginator.currentPage isnt paginator.firstPage()
Expand All @@ -22,6 +23,7 @@ require ["gamenode", "base"], ->
$("#nextPage").attr("href", "#" + paginator.nextPage()).toggle paginator.currentPage isnt paginator.lastPage()
$(".pageLink").removeClass "current"
$(".pageLink[page=\"" + paginator.currentPage + "\"]").addClass "current"

populateOpenGames = (client) ->
client.stub.openGames null, (response) ->
changePage = (e, page) ->
Expand All @@ -33,9 +35,8 @@ require ["gamenode", "base"], ->
alert "Error loading games! " + response.reason
return
games = $("#games tbody")
paginator = new Paginator(response.games, ->
games.empty()
, (game) ->

paginator = new Paginator response.games, (-> games.empty()), (game) ->
row = $("<tr></tr>")
nameItem = $("<td></td>")
mapItem = $("<td></td>")
Expand All @@ -54,34 +55,24 @@ require ["gamenode", "base"], ->
row.append playersItem
$("a", row).attr "href", ((if game.state is "pregame" then "/pregame.html" else "game.html")) + "?gameId=" + game.gameId
games.append row
)

paginator.setPage initialPage
pages = $("#pages")
i = 0

while i < paginator.pages()
numPages = paginator.pages()
for i in [1..numPages]
pageLink = $("<a></a>")
pageLink.text i + 1
pageLink.attr "href", "#" + (i + 1)
pageLink.attr "page", i + 1
pageLink.text i
pageLink.attr "href", "#" + i
pageLink.attr "page", i
pageLink.addClass "pageLink"
pages.append pageLink
++i

updatePageControls()
$(".pageLink").click (e) ->
changePage e, parseInt($(this).attr("page"))

$("#firstPage").click (e) ->
changePage e, paginator.firstPage()

$("#lastPage").click (e) ->
changePage e, paginator.lastPage()

$("#nextPage").click (e) ->
changePage e, paginator.nextPage()

$("#prevPage").click (e) ->
changePage e, paginator.prevPage()

$(".pageLink").click (e) -> changePage e, parseInt($(this).attr("page"))
$("#firstPage").click (e) -> changePage e, paginator.firstPage()
$("#lastPage").click (e) -> changePage e, paginator.lastPage()
$("#nextPage").click (e) -> changePage e, paginator.nextPage()
$("#prevPage").click (e) -> changePage e, paginator.prevPage()
$("#pageControls").hide() if paginator.pages() is 1

5 changes: 2 additions & 3 deletions client/src/profile.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@ require ["gamenode", "base"], ->
session = null
$(document).ready ->
loginUrl = "login.html?next=" + document.location.pathname + document.location.search
session = resumeSessionOrRedirect(client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
session = resumeSessionOrRedirect client, WARS_CLIENT_SETTINGS.gameServer, loginUrl, ->
populateNavigation session
initialize client
)



initialize = (client) ->
client.stub.profile (response) ->
alert "Unable to get profile! " + response.reason unless response.success
profile = response.profile
console.log profile.settings
$("#username").val profile.username
$("#email").val profile.email
$("#theme").val profile.settings.gameTheme
Expand Down

0 comments on commit 69a4a2d

Please sign in to comment.