Files
kiss-vscode/projects/_standalone/habit-puzzles/source/HabitState.hx
2023-04-29 20:45:33 -06:00

69 lines
2.0 KiB
Haxe

package;
using StringTools;
import haxe.Constraints;
import flash.display.BitmapData;
import haxe.io.Path;
import flixel.FlxG;
import flixel.FlxState;
import flixel.group.FlxGroup;
import flixel.FlxSprite;
import flixel.FlxCamera;
import flixel.util.FlxColor;
import flixel.text.FlxText;
import flixel.math.FlxRandom;
import flixel.math.FlxPoint;
import flixel.math.FlxRect;
import openfl.geom.Rectangle;
import openfl.geom.Point;
import openfl.geom.ColorTransform;
import flixel.util.FlxSpriteUtil;
using flixel.util.FlxSpriteUtil;
import flixel.util.FlxSave;
import flixel.input.mouse.FlxMouseEventManager;
import flixel.addons.display.FlxExtendedSprite;
import flixel.addons.plugin.FlxMouseControl;
import kiss_flixel.KissInputText;
import kiss.Prelude;
import kiss.List;
import kiss_tools.FlxKeyShortcutHandler;
import HabitModel;
import sys.FileSystem;
import hx.strings.Strings;
import datetime.DateTime;
import flixel.ui.FlxButton;
import flixel.ui.FlxBar;
import flixel.addons.util.FlxAsyncLoop;
using kiss_flixel.CameraTools;
using kiss_flixel.GroupTools;
using kiss_flixel.DebugLayer;
import kiss_flixel.KissExtendedSprite;
import kiss_flixel.SimpleWindow;
import haxe.ds.Option;
import jigsawx.JigsawPiece;
import jigsawx.Jigsawx;
import jigsawx.math.Vec2;
import kiss_flixel.DragToSelectPlugin;
import re_flex.R;
import FlxPomTimer;
typedef StartPuzzleFunc = (Int, Int) -> Void;
@:build(kiss.Kiss.build())
class HabitState extends FlxState {
public function drawPieceShape( surface: FlxSprite, jig: JigsawPiece, scale:Float, fillColor: FlxColor, ?outlineColor: FlxColor)
{
if (outlineColor == null) outlineColor = fillColor;
var points = [for (point in jig.getPoints()) new FlxPoint(point.x / scale + ROT_PADDING, point.y / scale + ROT_PADDING)];
points.push(points[0]);
FlxSpriteUtil.drawPolygon(
surface,
points,
fillColor,
{
thickness: 1,
color: outlineColor
});
}
}