diff --git a/TODO_Animation.md b/TODO_Animation.md index 75d7becd..b7a74464 100644 --- a/TODO_Animation.md +++ b/TODO_Animation.md @@ -95,3 +95,33 @@ interface IGuiGraphicsAnimationInterpolation ``` + +## Proposal (3) + +- Remove `` +- Add `Type="Once|Repeat"` to `` +- All `` should set exactly the same set of properties +- All properties that are not set in `` should have a `Value` property, which is similar to `Interpolation` + - `Property Value` = `Value`(`Interpolation`((`CurrentTime` - `StartTime`) % `Length` / cast double `Length`)) +- (optional) Syntax for `$switch` to wait for callbacks caused from some actions in the `$init` block +- (optional) Syntax for `$switch` to raise a specified exception for wrong inputs + +``` +try + { + $switch(raise "Sad!") + { + $init + { + DownloadAsync().Execute([$1; this.Cancel(); ], null); + } + case A():{} + case B():{} + } +} +catch(ex) +{ + if (ex.Message == "Sad!") { return; } + raise; +} +```