From 76c8e2283d42ecb44b667e346238ff2a2f81df09 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Wed, 29 Mar 2023 06:47:45 -0600 Subject: [PATCH] FlxLightSource --- .../src/hollywoo_flixel/FlxLightSource.hx | 9 +++++++++ .../src/hollywoo_flixel/FlxLightSource.kiss | 12 ++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.hx create mode 100644 projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.kiss diff --git a/projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.hx b/projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.hx new file mode 100644 index 00000000..0f1c7513 --- /dev/null +++ b/projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.hx @@ -0,0 +1,9 @@ +package hollywoo_flixel; + +import kiss.Prelude; +import kiss.List; +import flixel.math.FlxPoint; +import flixel.util.FlxColor; + +@:build(kiss.Kiss.build()) +class FlxLightSource {} diff --git a/projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.kiss b/projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.kiss new file mode 100644 index 00000000..c06f0620 --- /dev/null +++ b/projects/hollywoo-flixel/src/hollywoo_flixel/FlxLightSource.kiss @@ -0,0 +1,12 @@ +(defNew [&prop :Array points + &prop :FlxColor color]) + +(method stringify [] + "${color}|$(.join (for p points "${p.x}|${p.y}") "|")") + +(method parse [:String data] + (case (data.split "|") + ([::colorStr ...coordStrs] + (let [points (groups coordStrs 2)] + (new FlxLightSource (for [x y] points (new FlxPoint (Std.parseFloat x) (Std.parseFloat y))) (Std.parseInt colorStr)))) + (never otherwise))) \ No newline at end of file