Conflicts:
	public/images/entities.png
This commit is contained in:
Ruben Müller 2014-12-07 17:09:14 +01:00
commit cecb52a963
13 changed files with 26 additions and 11 deletions

View file

@ -11,7 +11,6 @@ Title: Entire game on one screen
* TODO HUD
** hud: energie progress bar :aaron:
** hud: resources "release to space" on click :aaron:
** selektierte entity in großansicht anzeigen :aaron::jonas:
** Hint für shortcuts anzeigen :ruben:
** Preise für entities :ruben:
@ -19,7 +18,6 @@ Title: Entire game on one screen
** solarpanel item :aaron:
* TODO Polishing
** "tote" flächen: nicht klickbar :aaron:
* TODO OUTRO
** animation bei voller energybar: typ fliegt davon

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -5,7 +5,7 @@ app = playground(
smoothing: false,
create: ->
@loadImages "layers", "active", "progress", "selected", "entities", "hud", "actions", "speechbubbles", "deadtiles"
@loadImages "layers", "active", "progress", "selected", "entities", "hud", "actions", "speechbubbles", "deadtiles", "layerdetails", "entitydetails"
@currentHoveredTile = new Tile
ready: ->

View file

@ -9,6 +9,9 @@ class Base
sprite: ->
[@frame*8, 0, 8, 8]
spritedetail: ->
[0, 0, 16, 16]
isMoveable: ->
false

View file

@ -9,6 +9,9 @@ class Miner
sprite: ->
[@frame*8, 16, 8, 8]
spritedetail: ->
[0, 16*2, 16, 16]
isMoveable: ->
true

View file

@ -8,11 +8,14 @@ class Silo
sprite: ->
[@frame*8, 8, 8, 8]
spritedetail: ->
[0, 16, 16, 16]
isMoveable: ->
false
changeAnimation: =>
if @frame == 2
if @frame == 1
@frame = 0
else
@frame += 1

View file

@ -6,7 +6,6 @@ app.game =
@mouseX = 0
@mouseY = 0
@currentHoveredTile = new Tile(-1)
@currentSelectedTile = null
@ -23,10 +22,14 @@ app.game =
@speechbubble.render()
mousedown: (event)->
tile = posToTile(Math.floor(event.x/8), Math.floor(event.y/8))
# Can't click on dead tiles
return unless tile and tile.isBuildable
if @isMouseInView event.x/8, event.y/8
switch event.button
when 'left'
tile = posToTile(Math.floor(event.x/8), Math.floor(event.y/8))
tile.click(event.button)
@currentSelectedTile.deselect() if @currentSelectedTile

View file

@ -22,11 +22,12 @@ app.game.hud =
if currentSelectedTile != null
panelusage = 'tile'
app.layer.drawRegion app.images.layers, currentSelectedTile.getCurrentLayer().sprite, 15, 100
if currentSelectedTile.entity
panelusage = 'entity'
app.layer.drawRegion app.images.entities, currentSelectedTile.entity.sprite(), 15, 100
app.layer.drawRegion app.images.entitydetails, currentSelectedTile.entity.spritedetail(), 12, 95
else
app.layer.drawRegion app.images.layerdetails, currentSelectedTile.getCurrentLayer().spritedetail, 12, 95
# silo capacity
usedSiloStoragePercent = Math.round((100 / app.game.availableSiloStorage()) * app.game.usedSiloStorage())

View file

@ -16,6 +16,9 @@ class Tile
@randomSeed = Math.round(Math.random()*10)
click: (button)->
# Some tiles are not buildable
return unless @isBuildable
if button == "left"
if (app.game.availableSiloStorage() - app.game.usedSiloStorage()) > 0
if @layers[@currentLayer].collect()

View file

@ -3,6 +3,7 @@ class Tilelayer
{@type, @depth, @amount} = options
@randomFactor = getRandomInt 0, 4
@sprite = [@randomFactor*8, @depth*8, 8, 8]
@spritedetail = [0, @depth*16, 16, 16]
@hudSprite = [@randomFactor*8, @depth*8, 4, 4]
collect: ->