make PuzzlePack toStringable
This commit is contained in:
@@ -44,12 +44,5 @@ typedef Puzzle = {
|
||||
outOf:Int
|
||||
}
|
||||
|
||||
typedef PuzzlePack = {
|
||||
path:String,
|
||||
nextPuzzle:Option<Puzzle>,
|
||||
puzzlesDone:Int,
|
||||
puzzlesTotal:Int
|
||||
};
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class HabitModel {}
|
||||
|
@@ -4,8 +4,6 @@
|
||||
(prop &mut :FlxCamera pieceCamera)
|
||||
(prop &mut :FlxCamera uiCamera)
|
||||
|
||||
(load "PuzzlePacks.kiss")
|
||||
|
||||
(defAlias &ident textSize SimpleWindow.textSize)
|
||||
|
||||
(method &override :Void create []
|
||||
@@ -685,8 +683,8 @@
|
||||
// TODO position these aesthetically with a partly transparent background behind them
|
||||
// like the habit ui window should also have
|
||||
(let [x 0 &mut y 0]
|
||||
(doFor pack (availablePacks model)
|
||||
(let [text (new FlxText x y 0 "$(haxe.io.Path.withoutDirectory pack.path): ${pack.puzzlesDone}/${pack.puzzlesTotal}" textSize)]
|
||||
(doFor pack (PuzzlePack.availablePacks model)
|
||||
(let [text (new FlxText x y 0 "$pack" textSize)]
|
||||
// TODO not that color though
|
||||
(set text.color FlxColor.LIME)
|
||||
(nextPuzzleChoiceGroup.add text)
|
||||
|
@@ -0,0 +1,10 @@
|
||||
package;
|
||||
|
||||
import kiss.Prelude;
|
||||
import kiss.List;
|
||||
import haxe.ds.Option;
|
||||
import sys.FileSystem;
|
||||
import HabitModel;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class PuzzlePack { }
|
@@ -1,3 +1,8 @@
|
||||
(defNew [&prop :String path
|
||||
&prop :Option<Puzzle> nextPuzzle
|
||||
&prop :Int puzzlesDone
|
||||
&prop :Int puzzlesTotal])
|
||||
|
||||
(var puzzleSearchGlobs ["puzzles"])
|
||||
// TODO add the itch io client folder to search paths- it's
|
||||
// C:\Users\$(userHome)\AppData\Roaming\itch\apps\ on windows
|
||||
@@ -14,14 +19,13 @@
|
||||
(doFor packDir packDirs
|
||||
(let [fop (firstUnsolvedPuzzle model packDir)]
|
||||
(packs.push
|
||||
(object
|
||||
nextPuzzle
|
||||
(if fop.path
|
||||
(Some fop)
|
||||
None)
|
||||
path packDir
|
||||
puzzlesDone fop.index
|
||||
puzzlesTotal fop.outOf)))))))
|
||||
(new PuzzlePack
|
||||
packDir
|
||||
(if fop.path
|
||||
(Some fop)
|
||||
None)
|
||||
fop.index
|
||||
fop.outOf)))))))
|
||||
packs))
|
||||
|
||||
(function :Puzzle firstUnsolvedPuzzle [:HabitModel model :String dir]
|
||||
@@ -34,4 +38,7 @@
|
||||
(-= puzzleCount 1)
|
||||
(unless (rewardFilePaths.contains fullPath)
|
||||
(return (object path fullPath index idx outOf images.length))))))
|
||||
(object path null index images.length outOf images.length)))
|
||||
(object path null index images.length outOf images.length)))
|
||||
|
||||
(method toString []
|
||||
"$(haxe.io.Path.withoutDirectory path): ${puzzlesDone}/${puzzlesTotal}")
|
Reference in New Issue
Block a user