48 lines
1.2 KiB
Haxe
48 lines
1.2 KiB
Haxe
package;
|
|
|
|
import sys.io.File;
|
|
import sys.FileSystem;
|
|
import flixel.FlxG;
|
|
import flixel.FlxGame;
|
|
import openfl.display.Sprite;
|
|
import flixel.util.FlxTimer;
|
|
import kiss.Prelude;
|
|
|
|
class Main extends Sprite
|
|
{
|
|
public function new()
|
|
{
|
|
super();
|
|
addChild(new FlxGame(0, 0, HabitState, 1, 60, 60, true));
|
|
var t:HabitState = cast FlxG.state;
|
|
|
|
var saveFolder = Prelude.joinPath(Prelude.userHome(), "Documents", "HabitPuzzles");
|
|
var habitFile = Prelude.joinPath(saveFolder, "habits.txt");
|
|
if (!(FileSystem.exists(saveFolder) && FileSystem.isDirectory(saveFolder))) {
|
|
FileSystem.createDirectory(saveFolder);
|
|
}
|
|
if (!FileSystem.exists(habitFile)) {
|
|
File.saveContent(habitFile, File.getContent("assets/default.txt"));
|
|
}
|
|
|
|
var habitFile = if (Sys.args().length > 0 && Sys.args()[0].length > 0) {
|
|
Sys.args()[0];
|
|
} else {
|
|
habitFile;
|
|
};
|
|
function reloadModel(_) {
|
|
if (t.draggingSprite == null && !t.tempWindowIsShown()) {
|
|
var showLowerPriority = t.model.showLowerPriority;
|
|
var newModel = new HabitModel(habitFile);
|
|
newModel.showLowerPriority = showLowerPriority;
|
|
t.refreshModel(newModel);
|
|
t.model.save();
|
|
}
|
|
}
|
|
t.setModel(new HabitModel(habitFile));
|
|
new FlxTimer().start(30, reloadModel, 0);
|
|
|
|
}
|
|
|
|
}
|