require '../components/Playmat.coffee'

Crafty.defineScene "Battle", ->

  # free viewport
  Crafty.viewport.clampToEntities = false

  # attach viewport to an (invisible) entity twice as big as a playmat
  Crafty.viewport.follow (
    Crafty.e '2D, Canvas'
      .attr {
        w: 1 * CONF.playmat.w
        h: 2 * CONF.playmat.h
      }
      .origin 'middle left'
      .attr {
        ox: 0
        oy: 0
      }
      .origin 'center'
  )

  # scale viewport automatically (show that new entity)
  Crafty.bind 'ViewportResize', ->
    sX = @viewport._width / (1 * CONF.playmat.w)
    sY = @viewport._height / (2 * CONF.playmat.h)

    @viewport.scale Math.min(sX, sY)
    return

  # force scale adjustment
  Crafty.trigger 'ViewportResize'

  # Example playmats at https://imgur.com/a/VSosu#cwGQdAS
  Crafty.sprite 2000, 1000, 'assets/ff7.jpg',
    playmat: [
      0
      0
    ]

  # Place example playmats
  Crafty.e 'playmat, AllyPlaymat'
  Crafty.e 'playmat, EnemyPlaymat'

  return
