1118 Commits

Author SHA1 Message Date
44b10fd60c feat: Allow ComponentRef access in RiverpodGameMixin (#3010)
This PR allows `ComponentRef` access through the `RiverpodGameMixin`.


Closes #2971

---------

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2024-03-15 07:03:55 +00:00
12841d6471 docs: Update RawKeyEvent references to KeyEvent (#3052) (#3053)
This PR fixes #3052 and updates deprecated type references in docs from
`RawKeyEvent` to `KeyEvent`.

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2024-03-06 14:40:54 +01:00
1c51334e86 feat: Add initial version of flame_sprite_fusion package (#3062)
This PR adds a new package which makes it easier to parse and render
tilemaps exported from [Sprite Fusion](https://www.spritefusion.com/).
2024-03-05 09:49:46 +01:00
6270353af9 feat: Add HasPerformanceTracker mixin on Game (#3043)
This PR adds a `HasPerformanceTracker` mixin on `Game`. This mixin will
allow for tracking the update and render time of the game.
2024-02-18 18:53:29 +01:00
d409193300 chore(release): Publish Flame v1.16.0 et. al (#3044)
```
Package Name           Current Version   Updated Version   Update Reason
flame                  1.15.0            1.16.0            manual versioning
flame_audio            2.1.8             2.10.0            manual versioning
flame_bloc             1.10.10           1.11.0            manual versioning
flame_fire_atlas       1.4.8             1.5.0             manual versioning
flame_rive             1.9.11            1.10.0            manual versioning
flame_riverpod         5.2.0             5.3.0             manual versioning
flame_svg              1.9.0             1.10.0            manual versioning
flame_test             1.15.4            1.16.0            manual versioning
flame_texturepacker    3.0.0             3.1.0             manual versioning
flame_tiled            1.18.4            1.19.0            manual versioning
flame_forge2d          0.16.0+5          0.17.0            updated with major changes
flame_isolate          0.5.1             0.6.0             updated with major changes
flame_lottie           0.3.0+8           0.4.0             updated with major changes
flame_markdown         0.1.1+8           0.2.0             updated with major changes
flame_network_assets   0.2.0+13          0.3.0             updated with major changes
flame_noise            0.2.0             0.3.0             updated with major changes
flame_oxygen           0.1.9+8           0.2.0             updated with major changes
flame_spine            0.1.1+10          0.2.0             updated with major changes
flame_splash_screen    0.2.0             0.3.0             updated with major changes
jenny                  1.2.1             1.3.0             updated with minor changes
```
2024-02-17 11:23:14 +01:00
330862c98e fix!: Migrate from RawKeyEvent to KeyEvent (#3002)
First pass at migrating from `RawKeyEvent` and `RawKeyboard`
to `KeyEvent` and `HardwareKeyboard`.

Context:
https://docs.flutter.dev/release/breaking-changes/key-event-migration
2024-02-15 23:10:51 +01:00
219226201a feat: Add new methods to CommandStorage to support more arguments (#3035)
Added new **addCommand4** and **addCommand5** methods to the
_CommandStorage_ class from the Jenny package.
2024-02-14 09:53:39 +00:00
04527886cd docs: Update widgets documentation (#3024)
The documentation regarding the widgets are so outdated and it is very
confusing for a beginner like me. So, I update them to make it easier
for others to follow.

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2024-02-09 08:33:03 +00:00
abca337734 chore(release): Publish Flame v1.15.0 (#3022)
```
The following 18 packages will be updated:

Package Name           Current Version   Updated Version   Update Reason
flame                  1.14.0            1.15.0            updated with minor changes
flame_isolate          0.5.0+7           0.5.1             updated with minor changes
flame_noise            0.1.1+12          0.2.0             updated with major changes
flame_riverpod         5.1.5             5.2.0             updated with minor changes
flame_test             1.15.3            1.15.4            updated with patch changes
flame_texturepacker    2.1.0             3.0.0             updated with major changes
flame_oxygen           0.1.9+7           0.1.9+8           dependency was updated
flame_tiled            1.18.3            1.18.4            dependency was updated
flame_fire_atlas       1.4.7             1.4.8             dependency was updated
flame_audio            2.1.7             2.1.8             dependency was updated
flame_spine            0.1.1+9           0.1.1+10          dependency was updated
flame_bloc             1.10.9            1.10.10           dependency was updated
flame_rive             1.9.10            1.9.11            dependency was updated
flame_lottie           0.3.0+7           0.3.0+8           dependency was updated
flame_markdown         0.1.1+7           0.1.1+8           dependency was updated
flame_forge2d          0.16.0+4          0.16.0+5          dependency was updated
flame_svg              1.8.9             1.8.10            dependency was updated
flame_network_assets   0.2.0+12          0.2.0+13          dependency was updated
```
2024-02-07 21:23:29 +01:00
3526626e6b docs: Add missing import in klondike tutorial (#3000) 2024-01-24 15:38:12 +00:00
afb411f8dc docs: SpaceShooter tutorial had an issue in its code for the bullet spawn (#2999)
Fixes #2980
2024-01-23 15:18:38 +00:00
ee73c1c22f docs: SpriteGroup -> SpriteGroupComponent (#2998)
Fix typo inside the documentation to avoid confusion. The header should
be 'SpriteGroupComponent' instead of 'SpriteGroup'.
2024-01-23 10:41:53 +01:00
6702a48b1b docs: Space Shooter Tutorial had flutter app missing in some steps (#2993)
Adds flutter app block to the steps 4, 5 and 6 to the space shooter
tutorial, which were missing.
2024-01-22 16:36:23 -03:00
7681855d4d docs: Add an underscore to SpriteBatch example url (#2992)
Fix the `SpriteBatch` example URL described in issue
https://github.com/flame-engine/flame/issues/2991


Closes https://github.com/flame-engine/flame/issues/2991
2024-01-22 13:23:03 +00:00
cf09e04ac3 chore(deps): Bump jinja2 from 3.1.2 to 3.1.3 in /doc/_sphinx (#2986)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/releases">jinja2's
releases</a>.</em></p>
<blockquote>
<h2>3.1.3</h2>
<p>This is a fix release for the 3.1.x feature branch.</p>
<ul>
<li>Fix for <a
href="https://github.com/pallets/jinja/security/advisories/GHSA-h5c8-rqwp-cp95">GHSA-h5c8-rqwp-cp95</a>.
You are affected if you are using <code>xmlattr</code> and passing user
input as attribute keys.</li>
<li>Changes: <a
href="https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-3">https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-3</a></li>
<li>Milestone: <a
href="https://github.com/pallets/jinja/milestone/15?closed=1">https://github.com/pallets/jinja/milestone/15?closed=1</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.1.3</h2>
<p>Released 2024-01-10</p>
<ul>
<li>Fix compiler error when checking if required blocks in parent
templates are
empty. :pr:<code>1858</code></li>
<li><code>xmlattr</code> filter does not allow keys with spaces.
GHSA-h5c8-rqwp-cp95</li>
<li>Make error messages stemming from invalid nesting of <code>{% trans
%}</code> blocks
more helpful. :pr:<code>1918</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d9de4bb215"><code>d9de4bb</code></a>
release version 3.1.3</li>
<li><a
href="50124e1656"><code>50124e1</code></a>
skip test pypi</li>
<li><a
href="9ea7222ef3"><code>9ea7222</code></a>
use trusted publishing</li>
<li><a
href="da703f7aae"><code>da703f7</code></a>
use trusted publishing</li>
<li><a
href="bce1746925"><code>bce1746</code></a>
use trusted publishing</li>
<li><a
href="7277d8068b"><code>7277d80</code></a>
update pre-commit hooks</li>
<li><a
href="5c8a105224"><code>5c8a105</code></a>
Make nested-trans-block exceptions nicer (<a
href="https://redirect.github.com/pallets/jinja/issues/1918">#1918</a>)</li>
<li><a
href="19a55db3b4"><code>19a55db</code></a>
Make nested-trans-block exceptions nicer</li>
<li><a
href="716795349a"><code>7167953</code></a>
Merge pull request from GHSA-h5c8-rqwp-cp95</li>
<li><a
href="7dd3680e6e"><code>7dd3680</code></a>
xmlattr filter disallows keys with spaces</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/jinja/compare/3.1.2...3.1.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.1.2&new-version=3.1.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/flame-engine/flame/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 11:43:51 +01:00
2e5e64d654 docs: Remove HasDraggables in JoystickComponent example docs (#2981)
* Removes `HasDraggables` reference; fixes #2975
* velocity -> relativeDelta


Closes #2975
2024-01-15 08:42:40 +01:00
034d8211d6 docs: Improve documentation for onLoad (#2970)
This PR improves the documentation for the component lifecycle, in
particular for the `onLoad` method being executed before `onGameResize`
and `onMount`.


Closes #2969

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2024-01-09 20:49:33 +00:00
f96a2c5216 chore(release): Publish Flame v1.14.0 (#2960)
```
Package Name           Current Version   Updated Version   Update Reason
flame                  1.13.1            1.14.0            manual versioning
flame_forge2d          0.16.0+3          0.16.0+4          updated with patch changes
flame_test             1.15.2            1.15.3            dependency was updated
flame_tiled            1.18.2            1.18.3            dependency was updated
flame_oxygen           0.1.9+6           0.1.9+7           dependency was updated
flame_isolate          0.5.0+6           0.5.0+7           dependency was updated
flame_fire_atlas       1.4.6             1.4.7             dependency was updated
flame_audio            2.1.6             2.1.7             dependency was updated
flame_spine            0.1.1+8           0.1.1+9           dependency was updated
flame_bloc             1.10.8            1.10.9            dependency was updated
flame_lottie           0.3.0+6           0.3.0+7           dependency was updated
flame_markdown         0.1.1+6           0.1.1+7           dependency was updated
flame_rive             1.9.9             1.9.10            dependency was updated
flame_noise            0.1.1+11          0.1.1+12          dependency was updated
flame_riverpod         5.1.3             5.1.4             dependency was updated
flame_svg              1.8.8             1.8.9             dependency was updated
flame_network_assets   0.2.0+11          0.2.0+12          dependency was updated
```
2024-01-04 23:34:46 +01:00
cefe4e7599 docs: SpaceShooter Bullet SpawnComponent (#2948)
Use a `SpawnComponent` instead of a `TimerComponent` to spawn bullets on
the Space Shooter tutorial.
2023-12-21 21:06:14 +00:00
6ee9ffe50d docs: Improving collision on SpaceShooter tutorial (#2946)
Improves the collision code of the space shooter tutorial.


Replace or remove this text.
2023-12-21 15:07:57 -03:00
093a702a76 docs: Improving Space Shooter tutorial by moving attributes to constructors (#2944)
This PR improves the Space Shooter Tutorial as a whole by moving the
setting of component's attributes from their `onLoad` method, to their
constructors.
2023-12-21 17:35:25 +01:00
1b1e489040 docs: Adding Space Shooter Step 6 (#2936)
Adds the sixth step for the space shooter tutorial.
2023-12-21 15:09:22 +01:00
6be2b431c9 docs: Improvement on animation docs (#2940)
This is based on #2939.


Closes #2939
2023-12-21 13:05:03 +01:00
bf91ba9fe0 docs: Fix table of content (#2938)
Removes the accidentally extra added toc and bumps all dependencies.
2023-12-20 19:27:36 +00:00
5fd0ba3dd5 docs: Fix sphinx warnings (#2937)
This fixes the warnings that sphinx was throwing when building.
It most likely doesn't fix the mermaid rendering though.
2023-12-20 18:35:57 +00:00
6ca50b0d12 docs: Adding VGV's article on ghost line issue for tiled (#2935)
Adding VGV's article on ghost line issue for tiled
2023-12-20 16:54:08 +00:00
f1d94ca376 chore(release): Flame v1.13.0 (#2934)
```
Package Name           Current Version   Updated Version   Update Reason
flame                  1.12.0            1.13.0            updated with minor changes
flame_rive             1.9.8             1.9.9             updated with patch changes
flame_riverpod         5.1.0             5.1.1             updated with patch changes
flame_tiled            1.18.1            1.18.2            updated with patch changes
flame_test             1.15.1            1.15.2            dependency was updated
flame_oxygen           0.1.9+5           0.1.9+6           dependency was updated
flame_isolate          0.5.0+5           0.5.0+6           dependency was updated
flame_fire_atlas       1.4.5             1.4.6             dependency was updated
flame_audio            2.1.5             2.1.6             dependency was updated
flame_spine            0.1.1+7           0.1.1+8           dependency was updated
flame_bloc             1.10.7            1.10.8            dependency was updated
flame_lottie           0.3.0+5           0.3.0+6           dependency was updated
flame_markdown         0.1.1+5           0.1.1+6           dependency was updated
flame_svg              1.8.7             1.8.8             dependency was updated
flame_forge2d          0.16.0+2          0.16.0+3          dependency was updated
flame_noise            0.1.1+10          0.1.1+11          dependency was updated
flame_network_assets   0.2.0+10          0.2.0+11          dependency was updated
```
2023-12-19 16:40:51 +01:00
7f563d73b2 docs: SpaceShooter tutorial step 5 (#2924)
5th step of the space shooter tutorial.

---------

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-18 20:32:01 +01:00
b526aa1488 feat: Ability to use selfPositioning in SpawnComponent (#2927)
This adds the `selfPositioning` argument to the `SpawnComponent` so that
you can set the position of your components within the `factory` without
it getting overwritten be a random position for the `area`.


Closes #2923
2023-12-17 16:58:45 +00:00
576fac3f0d docs: Fix typo in text_rendering.md (#2929)
Fix a typo in text_rendering.md file.
2023-12-17 13:42:13 +00:00
f6d4b6cef8 docs: Adding space shooter tutorial step4 (#2922)
Adds the fourth step of the space shooter tutorial.

---------

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-15 15:11:10 -03:00
6c1b568d01 docs: SpaceShooter tutorial step 3 (#2919)
After a long time, the PR with the step 3 for the space shooter
tutorial!


Replace or remove this text.

---------

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-15 09:30:27 -03:00
4bca3a7476 docs: Remove list of bridge packages from readme (#2918)
Replace or remove this text.
2023-12-14 13:59:19 -03:00
d12e45444e docs: Remove references to Tappable and Draggable (#2912)
We still had some references to `Tappable` and `Draggable`, this PR
removes them and removes a superfluous test for `TapCallbacks`.

---------

Co-authored-by: jonathan <sharyari@gmail.com>
2023-12-09 16:09:45 +01:00
47643f05fb chore(release): Flame v1.12.0 (#2911)
```
The following 17 packages will be updated:

Package Name           Current Version   Updated Version   Update Reason
flame                  1.11.0            1.12.0            updated with minor changes
flame_riverpod         5.0.0             5.1.0             updated with minor changes
flame_test             1.15.0            1.15.1            dependency was updated
flame_tiled            1.18.0            1.18.1            dependency was updated
flame_oxygen           0.1.9+4           0.1.9+5           dependency was updated
flame_isolate          0.5.0+4           0.5.0+5           dependency was updated
flame_fire_atlas       1.4.4             1.4.5             dependency was updated
flame_audio            2.1.4             2.1.5             dependency was updated
flame_spine            0.1.1+6           0.1.1+7           dependency was updated
flame_bloc             1.10.6            1.10.7            dependency was updated
flame_lottie           0.3.0+4           0.3.0+5           dependency was updated
flame_markdown         0.1.1+4           0.1.1+5           dependency was updated
flame_rive             1.9.7             1.9.8             dependency was updated
flame_forge2d          0.16.0+1          0.16.0+2          dependency was updated
flame_noise            0.1.1+9           0.1.1+10          dependency was updated
flame_svg              1.8.6             1.8.7             dependency was updated
flame_network_assets   0.2.0+9           0.2.0+10          dependency was updated
```
2023-12-08 21:09:01 +00:00
8c3cb72541 feat: Scrollable TextBoxComponent (#2901)
This PR introduces a new ScrollTextBoxComponent, enhancing the existing
text box functionalities with scrollable text capabilities. This
component, built on top of the existing TextBoxComponent, is designed to
handle scrollable text, thereby providing a better user interface for
games that require displaying longer text content.

Added docs and and an example.

---------

Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com>
Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-08 19:53:45 +00:00
969a84f804 docs: Fix typo in TextComponent sample code (#2910)
This changed `=` to `:` when calling named parameter `position`.

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-08 20:46:57 +01:00
fb6a57f608 docs: Added missing text to links in camera component documentation (#2909)
Added some missing link text in the camera component documentation.

Closes #2908

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-08 19:27:30 +00:00
eef51968e7 docs: Update platformer tutorial to latest Flame (#2904)
Updates the  platformer tutorial to Flame v1.11.0
2023-12-08 16:19:09 -03:00
957db3c1ed feat: Add collision completed listener (#2896)
Add a new variable to the `CollisionDetection` class. Call
`notifyListeners` at the end of the collision detection step, so that
users can add a listener to their code to know when this step has
finished. The variable is a basic implementation of a `Listenable`
class, since it needs no more complexity.


Closes #2849
2023-12-06 21:45:11 +00:00
16a45b27a2 docs: Klondike Step5, re-work drags and taps (#2894)
The objective of this fix is to make a tap on a card more
positive-feeling for the player and not to disappear silently if it is
interpreted as a drag.

It adds a Base Card to make an empty Stock Pile behave as a Card and use
the tap and drag logic of the `Card` class. Any attempted drag on a
Stock Pile card, including the Base Card, is now changed to a tap in
onTapCancel() and the drag is not followed. The Base Card is rendered in
outline only and does *not* take part in gameplay.

In other Piles a short drag is either treated as a tap or ignored. Only
the Waste and Tableau Piles allow such taps. As before in Klondike
Step5, they result in the tapped card moving automatically to its
Foundation Pile if it is eligible to "go out".

As before in Klondike Step4 and Step5, all piles except the Stock Pile
allow drags to start on them and they can finish on a Foundation Pile or
a Tableau Pile.

Closes #2890.

When testing, try sliding the finger or mouse slightly while making a
tap.

---------

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-06 21:04:52 +01:00
2e96dcd03e docs: Fix a typo on the docs where global was written as game (#2898)
A simple typo fix on the docs.
2023-12-04 08:02:22 +01:00
a31486fc30 fix: Issue #2889, Klondike Step5, incorrect animation of the deal. (#2893)
When the cards are dealt at the start of a Klondike Step 5 game there
are multiple occurrences of unrealistic behaviors:

- Several cards being dealt may come from the middle of the Stock Pile,
- Cards that are dealt early can be seen moving in front of cards that
are dealt later.

Each card dealt should be rendered on the top of the Stock Pile and
should be seen to come from there. During the deal, later cards dealt
are placed on top of earlier ones, so later cards should be seen to move
in front of earlier ones when they are travelling from the Stock Pile to
their positions in the layout.

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-02 09:19:06 +00:00
0c74560b2e feat: Integration of flame_riverpod (#2367)
Previously discussed with @spydon and referenced in issue #2353,
flame_riverpod is to be integrated into the monorepo.
2023-12-01 08:39:02 +00:00
1aa4098dd2 docs: Add index page with routing links to doc/flame/examples (#2887)
Add an ad-hoc index page with routing links to all examples within
doc/flame/examples.

Before, it would just show a cryptic error message that would require
checking the code to understand how to access a specific one.

These examples are used with route pre-set within the docs so they are
not normally accessed by users directly, however this is helpful when
you refactor something and wish to double-check the examples still work.


![image](https://github.com/flame-engine/flame/assets/882703/10212a11-6c2b-4308-a8cd-5a05658bec71)

Obviously it could be improved further, but this already helps finding
what you seek quickly.
2023-12-01 09:00:09 +01:00
2722b00c75 chore(release): Flame v1.11.0 (#2885)
Release of Flame v1.11.0 and all packages.
2023-11-30 22:32:11 +01:00
63994ebcd8 fix!: Add DisplacementEvent to fix delta coordinate transformations for drag events (#2871)
This adds `DisplacementEvent` to fix delta coordinate transformations
for drag events, to be used instead of `PositionEvent`.
Drag Events now expose the start and end position, as well as the delta,
correctly transformed by the camera and zoom.
This also ensures that drag events, once starts, do not get lost if the
drag update leaves the component bounds.



* if you are using `DragUpdateEvent` events, the `devicePosition`,
`canvasPosition`, `localPosition`, and `delta` are deprecated as they
are unclear.
* use `xStartPosition` to get the position at the start of the drag
event ("from")
* use `xEndPosition` to get the position at the end of the drag event
("to")
* if you want the delta, use `localDelta`. it now already considers the
camera zoom. no need to manually account for that
* now you keep receiving drag events for the same component even if the
mouse leaves the component (breaking)

---------

Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com>
2023-11-30 16:40:26 +01:00
0fd2662d4b refactor!: Replace Offset with opacityFrom and opacityTo in ColorEffect (#2876)
`ColorEffect`'s API was a bit confusing because it used `Offset` for
getting values of opacity start and end from user. This PR changes that
to use optional `opacityFrom` and `opacityTo` double parameters. It also
adds validate checks on these value to make sure that are between 0 and
1.
2023-11-27 14:21:18 +01:00
501506810b docs: Fix EmberQuest tutorial typos (#2870)
Fix EmberQuest tutorial typos described in issue #2869 


Closes #2869
2023-11-26 12:05:15 +01:00
212cc206b9 docs: Klondike Tutorial Step 5 (#2842)
Primarily this PR is completing Step 5 of Flame's Klondike Tutorial and removing the tbc.md file ("To be continued...").

As at the end of Step 4, the Klondike Game had no animation, other than the drag-and-drop moves to play the game. It also had no ways to detect a win, react to a win or play again without re-loading and re-running the whole app. Step 4 played the Klondike Draw 3 variation of Klondike. Step 5 introduces the easier Klondike Draw 1 variation and provides buttons to:

Choose between Draw 1 and Draw 3,

Start the game again with a new deal, or

Start again with the same deal as before.

The new code and step5.md tutorial text cover Effects and EffectControllers in some detail, with complex examples of their use. The animations include:

Returning dropped but misplaced cards to the places they came from,

Settling dropped and validly placed cards into position,

Flipping cards from Stock Pile to Waste Pile,

Turning cards over on the Tableau piles when the cards above them are moved away,

Collecting multiple cards when the game is over,

Dealing and re-dealing multiple cards,

Allowing a card to be auto-moved onTapUp() to its Foundation Pile if it is ready to go out,

Providing a display of moving cards when/if the player wins.
2023-11-24 07:27:24 +00:00