Merge pull request #1333 from jayant1992/master
Preset images for terrain generator
This commit is contained in:
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
BIN
app/assets/images/pages/editor/level/preset_grassy_large.jpg
Normal file
BIN
app/assets/images/pages/editor/level/preset_grassy_large.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 74 KiB |
BIN
app/assets/images/pages/editor/level/preset_grassy_small.jpg
Normal file
BIN
app/assets/images/pages/editor/level/preset_grassy_small.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 68 KiB |
|
@ -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
|
|
@ -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
|
||||||
|
|
|
@ -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: ->
|
||||||
|
|
Reference in a new issue