done adding export-collision functionality, including collision message, in functional core. Next: add imperative shell scaffolding
This commit is contained in:
@@ -29,6 +29,18 @@ struct
|
||||
(model, [FILE msg])
|
||||
end
|
||||
|
||||
fun getCollisionMsg (model: app_type) =
|
||||
let
|
||||
val {squares, canvasWidth, canvasHeight, modalNum, ...} = model
|
||||
val exportString =
|
||||
CollisionTree.toCollisionString (squares, canvasWidth, canvasHeight, modalNum)
|
||||
val msg = EXPORT_COLLISIONS exportString
|
||||
|
||||
val model = AppWith.modalNum (model, 0)
|
||||
in
|
||||
(model, [FILE msg])
|
||||
end
|
||||
|
||||
(* unimplemented *)
|
||||
fun useSquaresInNormalMode (model, squares) = (model, [])
|
||||
|
||||
|
||||
@@ -363,6 +363,7 @@ struct
|
||||
| KEY_CTRL_S => CommonUpdate.getSaveSquaresMsg model
|
||||
| KEY_CTRL_L => CommonUpdate.getLoadSquaresMsg model
|
||||
| KEY_CTRL_E => CommonUpdate.getExportSquaresMsg model
|
||||
| KEY_CTRL_C => CommonUpdate.getCollisionMsg model
|
||||
| USE_SQUARES {squares, canvasWidth, canvasHeight} =>
|
||||
useSquares (model, squares, canvasWidth, canvasHeight)
|
||||
| SQUARES_LOAD_ERROR => CommonUpdate.squaresLoadError model
|
||||
|
||||
@@ -666,7 +666,6 @@ struct
|
||||
val qtree = buildTree (0, 0, size, squares)
|
||||
val bintree = merge (qtree, squares)
|
||||
|
||||
val scale = if scale = 0 then 1 else scale
|
||||
val f = toCollisionStringFolder scale
|
||||
val collisions = BinTree.foldr (f, bintree, [])
|
||||
val collisions = String.concatWith ",\n" collisions
|
||||
|
||||
Reference in New Issue
Block a user