Merge pull request from jayant1992/master

Preset images for terrain generator
This commit is contained in:
Nick Winter 2014-07-25 14:42:03 -07:00
commit a1d1d7cef3
5 changed files with 35 additions and 29 deletions
app
assets/images/pages/editor/level
styles/editor/level/modal
templates/editor/level/modal
views/editor/level/modals

Binary file not shown.

After

(image error) Size: 74 KiB

Binary file not shown.

After

(image error) Size: 68 KiB

View file

@ -3,7 +3,7 @@
.choose-option .choose-option
margin-bottom: 15px margin-bottom: 15px
width: 100% width: 100%
height: 100px height: 200px
overflow: hidden overflow: hidden
background: white background: white
border: 1px solid #333 border: 1px solid #333
@ -125,4 +125,7 @@
.hard-option .preset-name .hard-option .preset-name
border-top: 25px solid black border-top: 25px solid black
color: white color: white
.capitalize
text-transform: capitalize

View file

@ -5,11 +5,12 @@ block modal-header-content
block modal-body-content block modal-body-content
div#normal-view div#normal-view
a(href="#") each sizeObject, size in presetSizes
div.choose-option(data-preset-type="grassy", data-preset-size="small") each preset in presets
div.preset-size.name-label a(href="#")
span(data-i18n="editor.small") Small div.choose-option(data-preset-type=preset.type, data-preset-size=size, style="background:url(/images/pages/editor/level/preset_"+preset.type+"_"+size+".jpg) no-repeat center; background-size: cover")
div.preset-name div.preset-size.name-label.capitalize
span(data-i18n="editor.grassy") Grassy span(data-i18n="editor."+size) #{size}
//- for model in models div.preset-name.capitalize
span(data-i18n="editor.grassy") #{preset.type}
block modal-footer block modal-footer

View file

@ -50,7 +50,7 @@ presets = {
} }
} }
sizes = { presetSizes = {
'small': { 'small': {
'x':80 'x':80
'y':68 'y':68
@ -59,6 +59,9 @@ sizes = {
'x':160 'x':160
'y':136 'y':136
} }
}
thangSizes = {
'floorSize': { 'floorSize': {
'x':20 'x':20
'y':17 'y':17
@ -96,55 +99,55 @@ module.exports = class TerrainRandomizeModal extends ModalView
randomizeThangs: (presetName, presetSize) -> randomizeThangs: (presetName, presetSize) ->
preset = presets[presetName] preset = presets[presetName]
presetSize = sizes[presetSize] presetSize = presetSizes[presetSize]
@thangs = [] @thangs = []
@randomizeFloor preset, presetSize @randomizeFloor preset, presetSize
@randomizeBorder preset, presetSize @randomizeBorder preset, presetSize
@randomizeDecorations preset, presetSize @randomizeDecorations preset, presetSize
randomizeFloor: (preset, presetSize) -> randomizeFloor: (preset, presetSize) ->
for i in _.range(0, presetSize.x, sizes.floorSize.x) for i in _.range(0, presetSize.x, thangSizes.floorSize.x)
for j in _.range(0, presetSize.y, sizes.floorSize.y) for j in _.range(0, presetSize.y, thangSizes.floorSize.y)
@thangs.push { @thangs.push {
'id': @getRandomThang(preset.floors) 'id': @getRandomThang(preset.floors)
'pos': { 'pos': {
'x': i + sizes.floorSize.x/2 'x': i + thangSizes.floorSize.x/2
'y': j + sizes.floorSize.y/2 'y': j + thangSizes.floorSize.y/2
} }
} }
randomizeBorder: (preset, presetSize) -> randomizeBorder: (preset, presetSize) ->
for i in _.range(0, presetSize.x, sizes.borderSize.x) for i in _.range(0, presetSize.x, thangSizes.borderSize.x)
for j in _.range(sizes.borderSize.thickness) for j in _.range(thangSizes.borderSize.thickness)
@thangs.push { @thangs.push {
'id': @getRandomThang(preset.borders) 'id': @getRandomThang(preset.borders)
'pos': { 'pos': {
'x': i + _.random(-sizes.borderSize.x/2, sizes.borderSize.x/2) 'x': i + _.random(-thangSizes.borderSize.x/2, thangSizes.borderSize.x/2)
'y': 0 + _.random(-sizes.borderSize.y/2, sizes.borderSize.y) 'y': 0 + _.random(-thangSizes.borderSize.y/2, thangSizes.borderSize.y)
} }
} }
@thangs.push { @thangs.push {
'id': @getRandomThang(preset.borders) 'id': @getRandomThang(preset.borders)
'pos': { 'pos': {
'x': i + _.random(-sizes.borderSize.x/2, sizes.borderSize.x/2) 'x': i + _.random(-thangSizes.borderSize.x/2, thangSizes.borderSize.x/2)
'y': presetSize.y + _.random(-sizes.borderSize.y, sizes.borderSize.y/2) 'y': presetSize.y + _.random(-thangSizes.borderSize.y, thangSizes.borderSize.y/2)
} }
} }
for i in _.range(0, presetSize.y, sizes.borderSize.y) for i in _.range(0, presetSize.y, thangSizes.borderSize.y)
for j in _.range(3) for j in _.range(3)
@thangs.push { @thangs.push {
'id': @getRandomThang(preset.borders) 'id': @getRandomThang(preset.borders)
'pos': { 'pos': {
'x': 0 + _.random(-sizes.borderSize.x/2, sizes.borderSize.x) 'x': 0 + _.random(-thangSizes.borderSize.x/2, thangSizes.borderSize.x)
'y': i + _.random(-sizes.borderSize.y/2, sizes.borderSize.y/2) 'y': i + _.random(-thangSizes.borderSize.y/2, thangSizes.borderSize.y/2)
} }
} }
@thangs.push { @thangs.push {
'id': @getRandomThang(preset.borders) 'id': @getRandomThang(preset.borders)
'pos': { 'pos': {
'x': presetSize.x + _.random(-sizes.borderSize.x, sizes.borderSize.x/2) 'x': presetSize.x + _.random(-thangSizes.borderSize.x, thangSizes.borderSize.x/2)
'y': i + _.random(-sizes.borderSize.y/2, sizes.borderSize.y/2) 'y': i + _.random(-thangSizes.borderSize.y/2, thangSizes.borderSize.y/2)
} }
} }
@ -182,9 +185,8 @@ module.exports = class TerrainRandomizeModal extends ModalView
getRenderData: -> getRenderData: ->
c = super() c = super()
models = _.values CocoModel.backedUp c.presets = presets
models = (m for m in models when m.hasLocalChanges()) c.presetSizes = presetSizes
c.models = models
c c
onHidden: -> onHidden: ->