[add] Added a template of ScheduledController for shapes..

This commit is contained in:
falsycat 2019-10-15 00:00:00 +00:00
parent f2703bda59
commit a39c9f5001
3 changed files with 35 additions and 37 deletions

View File

@ -1,29 +1,14 @@
/// License: MIT
module sjplayer.CircleElementScheduledController;
import std.typecons;
import sjplayer.CircleElement,
sjplayer.ElementScheduledControllerFactory,
sjplayer.ScheduledController;
sjplayer.ScheduledController,
sjplayer.ShapeElementScheduledController;
///
alias CircleElementScheduledController = ScheduledController!(
CircleElement,
[
"damage": "damage",
"nearness_coe": "nearness_coe",
"weight": "weight",
"smooth": "smooth",
"color_r": "color.r",
"color_g": "color.g",
"color_b": "color.b",
"color_a": "color.a",
]
);
static assert(CircleElementScheduledController.AliveManagementAvailable);
static assert(CircleElementScheduledController.MatrixModificationAvailable);
static assert(CircleElementScheduledController.AutoInitializationAvailable);
alias CircleElementScheduledController =
ShapeElementScheduledController!CircleElement;
///
alias CircleElementScheduledControllerFactory =

View File

@ -0,0 +1,28 @@
/// License: MIT
module sjplayer.ShapeElementScheduledController;
import sjplayer.CircleElement,
sjplayer.ElementInterface,
sjplayer.ElementScheduledControllerFactory,
sjplayer.ScheduledController;
///
template ShapeElementScheduledController(Element)
if (is(Element : ElementInterface)) {
alias ShapeElementScheduledController = ScheduledController!(
Element,
[
"damage": "damage",
"nearness_coe": "nearness_coe",
"weight": "weight",
"smooth": "smooth",
"color_r": "color.r",
"color_g": "color.g",
"color_b": "color.b",
"color_a": "color.a",
]
);
static assert(ShapeElementScheduledController.AliveManagementAvailable);
static assert(ShapeElementScheduledController.MatrixModificationAvailable);
static assert(ShapeElementScheduledController.AutoInitializationAvailable);
}

View File

@ -1,29 +1,14 @@
/// License: MIT
module sjplayer.SquareElementScheduledController;
import std.typecons;
import sjplayer.ElementScheduledControllerFactory,
sjplayer.ScheduledController,
sjplayer.ShapeElementScheduledController,
sjplayer.SquareElement;
///
alias SquareElementScheduledController = ScheduledController!(
SquareElement,
[
"damage": "damage",
"nearness_coe": "nearness_coe",
"weight": "weight",
"smooth": "smooth",
"color_r": "color.r",
"color_g": "color.g",
"color_b": "color.b",
"color_a": "color.a",
]
);
static assert(SquareElementScheduledController.AliveManagementAvailable);
static assert(SquareElementScheduledController.MatrixModificationAvailable);
static assert(SquareElementScheduledController.AutoInitializationAvailable);
alias SquareElementScheduledController =
ShapeElementScheduledController!SquareElement;
///
alias SquareElementScheduledControllerFactory =