-
-
Notifications
You must be signed in to change notification settings - Fork 1k
docs: Improve documentation at Klondike Tutorial Step 5 #3078
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I am still working there. Please feel free to discuss about this PR |
2e47588 to
bf1592a
Compare
doc/tutorials/klondike/step5.md
Outdated
|
|
||
| ### KlondikeWorld class | ||
|
|
||
| In Flame, a ```World``` is a type of ```Component``` that can contain other ```Components```, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should only have a single back-tick, tripple back-ticks are for multi-line code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! Let me change this
|
@nickf2k any update on this? |
|
@nickf2k are you planning to continue working on this PR? |
|
@spydon |
|
@spydon To avoid forgetting, I set a deadline for myself to complete this PR for you to review by next Tuesday. Thank you |
|
|
||
| You can learn more about `World` in game programming here: | ||
|
|
||
| - An introduction to `World` in game programming: [Ecampus](https://ecampusontario.pressbooks.pub/gamedesigndevelopmenttextbook/chapter/what-is-a-game-world/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't have links to external resourced in here, you can link to the world section in the docs instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I will change this
| Ohhh, so what happened to the `onLoad()` method? Well, previously, `KlondikeGame` handled everything in the `onLoad()` method, managing all the game components like `Piles` and `Cards`. But now, to make things cleaner and more organized, we’ve moved that responsibility over to `KlondikeWorld`. | ||
|
|
||
| Everything that used to be inside the `onLoad()` method of `KlondikeGame` is now in `KlondikeWorld`'s `onLoad()` method. This keeps the code more modular, meaning it's easier to maintain and update. Instead of `KlondikeGame` getting messy with too many tasks, we let `KlondikeWorld` handle the game setup and logic. | ||
|
|
||
| And what’s this `seed` thing? Ah, good question! So, the `seed` attribute is like a magic key. It lets you replay the same game configuration by selecting `Action.sameDeal`. This is super useful when you want to give players the option to retry the exact same game setup. The `seed` ensures that the randomness in the game (like card shuffling) can be repeated exactly the same way. Think of it as a way to recreate the same starting point in a game. | ||
|
|
||
| So, with the `seed` safely stored in `KlondikeGame`, the `KlondikeWorld` can use it to keep everything consistent between rounds. If you choose `Action.sameDeal`, it will load the same shuffled deck and game state, letting you replay that round with the same starting conditions. Pretty cool, right? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting (max 100 line length)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. Thank you
|
@nickf2k any updates planned for this PR? :) |
|
@nickf2k are you planning to finish this PR? |
|
@spydon yes. It's been a while. I will comeback and try to finish this PR |
If the buttons are extended it doesn't automatically propagate the size from the `button` child component like it does if you pass the button into the constructor. This PR sets that size in `onMount` if the size is zero.
Simplify flame_console to use `terminui` instead of implementing the terminal interface itself.
Fix brighten and darken alpha issue. This is all thanks to @jtmcdole's insight & fixes [here](flame-engine#3407). --------- Co-authored-by: Lukas Klingsbo <[email protected]> Co-authored-by: Erick Zanardo <[email protected]> Co-authored-by: Lukas Klingsbo <[email protected]> Co-authored-by: John McDole <[email protected]>
…atforms (flame-engine#3419) Adds a warning when calling `fullScreen` and the new added method `restoreFullscreen` when used in a desktop platform. Also adds a brief warning to the docs about some methods in the device class not working outside mobile --------- Co-authored-by: Lukas Klingsbo <[email protected]>
Add missing export of GroupElement to text.dart
…e#3424) Add missing export of GroupTextElement to text.dart
…own] (flame-engine#3425) Do not encode HTML by default when parsing markdown [flame_markdown]. The Flame text rendering pipeline is not configured to accept HTML encoded sequences, therefore the default behaviour of Flame Markdown doesn't lead to a good result:  With this change:  Of the user can still override it as before.
…ngine#3426) Add support for strike-through text for flame_markdown, if enabled by the user. Basically parses the `del` HTMl tag and maps it to a new inline text renderer in Flame's text rendering pipeline. The style can be controlled with a new property if desired. In order to parse `~~`-wrapped text into the new node element, the underlying markdown parser must have the strikethrough option enabled (or an equivalent custom option), which can be controlled by the user if providing their own document.
…moved in the same tick (flame-engine#3428) Currently we end up in a bad state if a child is added to a parent that is removed in the same tick, this PR fixes that by adding the child after the parent has been unmounted. Closes: flame-engine#3416
``` Package Name Current Version Updated Version Update Reason flame 1.22.0 1.23.0 updated with minor changes flame_3d 0.1.0-dev.3 0.1.0-dev.4 updated with major changes flame_console 0.1.1 0.1.2 updated with minor changes flame_forge2d 0.18.2+3 0.18.2+4 updated with patch changes flame_isolate 0.6.2+3 0.6.2+4 updated with patch changes flame_markdown 0.2.2+3 0.2.3 updated with minor changes flame_oxygen 0.2.3+3 0.2.3+4 updated with patch changes flame_sprite_fusion 0.1.3+3 0.1.3+4 updated with patch changes flame_svg 1.11.3 1.11.4 updated with patch changes flame_test 1.17.3 1.17.4 updated with patch changes flame_tiled 1.21.1 1.21.2 updated with patch changes flame_behavior_tree 0.1.3+3 0.1.3+4 dependency was updated flame_texturepacker 4.1.3 4.1.4 dependency was updated flame_fire_atlas 1.7.0 1.7.1 dependency was updated flame_audio 2.10.6 2.10.7 dependency was updated flame_spine 0.2.2+3 0.2.2+4 dependency was updated flame_bloc 1.12.4 1.12.5 dependency was updated flame_kenney_xml 0.1.1+3 0.1.1+4 dependency was updated flame_lottie 0.4.2+3 0.4.2+4 dependency was updated flame_rive 1.10.6 1.10.7 dependency was updated flame_noise 0.3.2+3 0.3.2+4 dependency was updated flame_riverpod 5.4.6 5.4.7 dependency was updated flame_network_assets 0.3.3+3 0.3.3+4 dependency was updated ```
Add additional tests to flame_texturepacker
Add very basic benchmark infrastructure, using the `examples` app as a centralized benchmark playground and with first ever benchmark file just testing some components and updates (more to come). This also sets up the `dart-benchmark-action` to run, starting on this very PR!
This makes the monorepo make use of `Melos v7.0.0-dev.1` so that we can use the pub workspaces feature.
…ngine#3434) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5. <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.5</h2> <p>This is the Jinja 3.1.5 security fix release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Jinja2/3.1.5/">https://pypi.org/project/Jinja2/3.1.5/</a> Changes: <a href="https://jinja.palletsprojects.com/changes/#version-3-1-5">https://jinja.palletsprojects.com/changes/#version-3-1-5</a> Milestone: <a href="https://github.com/pallets/jinja/milestone/16?closed=1">https://github.com/pallets/jinja/milestone/16?closed=1</a></p> <ul> <li>The sandboxed environment handles indirect calls to <code>str.format</code>, such as by passing a stored reference to a filter that calls its argument. <a href="https://github.com/pallets/jinja/security/advisories/GHSA-q2x7-8rv6-6q7h">GHSA-q2x7-8rv6-6q7h</a></li> <li>Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. <a href="https://redirect.github.com/pallets/jinja/issues/1792">#1792</a>, <a href="https://github.com/pallets/jinja/security/advisories/GHSA-gmj6-6f8f-6699">GHSA-gmj6-6f8f-6699</a></li> <li>Sandbox does not allow <code>clear</code> and <code>pop</code> on known mutable sequence types. <a href="https://redirect.github.com/pallets/jinja/issues/2032">#2032</a></li> <li>Calling sync <code>render</code> for an async template uses <code>asyncio.run</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1952">#1952</a></li> <li>Avoid unclosed <code>auto_aiter</code> warnings. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from <code>Template.generate_async</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>Avoid leaving <code>root_render_func()</code> unclosed in <code>Template.generate_async</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>Avoid leaving async generators unclosed in blocks, includes and extends. <a href="https://redirect.github.com/pallets/jinja/issues/1960">#1960</a></li> <li>The runtime uses the correct <code>concat</code> function for the current environment when calling block references. <a href="https://redirect.github.com/pallets/jinja/issues/1701">#1701</a></li> <li>Make <code>|unique</code> async-aware, allowing it to be used after another async-aware filter. <a href="https://redirect.github.com/pallets/jinja/issues/1781">#1781</a></li> <li><code>|int</code> filter handles <code>OverflowError</code> from scientific notation. <a href="https://redirect.github.com/pallets/jinja/issues/1921">#1921</a></li> <li>Make compiling deterministic for tuple unpacking in a <code>{% set ... %}</code> call. <a href="https://redirect.github.com/pallets/jinja/issues/2021">#2021</a></li> <li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc) interaction with <code>Undefined</code> objects. <a href="https://redirect.github.com/pallets/jinja/issues/2025">#2025</a></li> <li>Fix <code>copy</code>/<code>pickle</code> support for the internal <code>missing</code> object. <a href="https://redirect.github.com/pallets/jinja/issues/2027">#2027</a></li> <li><code>Environment.overlay(enable_async)</code> is applied correctly. <a href="https://redirect.github.com/pallets/jinja/issues/2061">#2061</a></li> <li>The error message from <code>FileSystemLoader</code> includes the paths that were searched. <a href="https://redirect.github.com/pallets/jinja/issues/1661">#1661</a></li> <li><code>PackageLoader</code> shows a clearer error message when the package does not contain the templates directory. <a href="https://redirect.github.com/pallets/jinja/issues/1705">#1705</a></li> <li>Improve annotations for methods returning copies. <a href="https://redirect.github.com/pallets/jinja/issues/1880">#1880</a></li> <li><code>urlize</code> does not add <code>mailto:</code> to values like <code>@A@b</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1870">#1870</a></li> <li>Tests decorated with <code>@pass_context</code> can be used with the <code>|select</code> filter. <a href="https://redirect.github.com/pallets/jinja/issues/1624">#1624</a></li> <li>Using <code>set</code> for multiple assignment (<code>a, b = 1, 2</code>) does not fail when the target is a namespace attribute. <a href="https://redirect.github.com/pallets/jinja/issues/1413">#1413</a></li> <li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{% else %}</code> blocks does not cause the variable to be considered initially undefined. <a href="https://redirect.github.com/pallets/jinja/issues/1253">#1253</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.5</h2> <p>Released 2024-12-21</p> <ul> <li>The sandboxed environment handles indirect calls to <code>str.format</code>, such as by passing a stored reference to a filter that calls its argument. :ghsa:<code>q2x7-8rv6-6q7h</code></li> <li>Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. :issue:<code>1792</code>, :ghsa:<code>gmj6-6f8f-6699</code></li> <li>Sandbox does not allow <code>clear</code> and <code>pop</code> on known mutable sequence types. :issue:<code>2032</code></li> <li>Calling sync <code>render</code> for an async template uses <code>asyncio.run</code>. :pr:<code>1952</code></li> <li>Avoid unclosed <code>auto_aiter</code> warnings. :pr:<code>1960</code></li> <li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from <code>Template.generate_async</code>. :pr:<code>1960</code></li> <li>Avoid leaving <code>root_render_func()</code> unclosed in <code>Template.generate_async</code>. :pr:<code>1960</code></li> <li>Avoid leaving async generators unclosed in blocks, includes and extends. :pr:<code>1960</code></li> <li>The runtime uses the correct <code>concat</code> function for the current environment when calling block references. :issue:<code>1701</code></li> <li>Make <code>|unique</code> async-aware, allowing it to be used after another async-aware filter. :issue:<code>1781</code></li> <li><code>|int</code> filter handles <code>OverflowError</code> from scientific notation. :issue:<code>1921</code></li> <li>Make compiling deterministic for tuple unpacking in a <code>{% set ... %}</code> call. :issue:<code>2021</code></li> <li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc) interaction with <code>Undefined</code> objects. :issue:<code>2025</code></li> <li>Fix <code>copy</code>/<code>pickle</code> support for the internal <code>missing</code> object. :issue:<code>2027</code></li> <li><code>Environment.overlay(enable_async)</code> is applied correctly. :pr:<code>2061</code></li> <li>The error message from <code>FileSystemLoader</code> includes the paths that were searched. :issue:<code>1661</code></li> <li><code>PackageLoader</code> shows a clearer error message when the package does not contain the templates directory. :issue:<code>1705</code></li> <li>Improve annotations for methods returning copies. :pr:<code>1880</code></li> <li><code>urlize</code> does not add <code>mailto:</code> to values like <code>@A@b</code>. :pr:<code>1870</code></li> <li>Tests decorated with <code>@pass_context`` can be used with the ``|select`` filter. :issue:</code>1624`</li> <li>Using <code>set</code> for multiple assignment (<code>a, b = 1, 2</code>) does not fail when the target is a namespace attribute. :issue:<code>1413</code></li> <li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{% else %}</code> blocks does not cause the variable to be considered initially undefined. :issue:<code>1253</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1"><code>877f6e5</code></a> release version 3.1.5</li> <li><a href="https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f"><code>8d58859</code></a> remove test pypi</li> <li><a href="https://github.com/pallets/jinja/commit/eda8fe86fd716dfce24910294e9f1fc81fbc740c"><code>eda8fe8</code></a> update dev dependencies</li> <li><a href="https://github.com/pallets/jinja/commit/c8fdce1e0333f1122b244b03a48535fdd7b03d91"><code>c8fdce1</code></a> Fix bug involving calling set on a template parameter within all branches of ...</li> <li><a href="https://github.com/pallets/jinja/commit/66587ce989e5a478e0bb165371fa2b9d42b7040f"><code>66587ce</code></a> Fix bug where set would sometimes fail within if</li> <li><a href="https://github.com/pallets/jinja/commit/fbc3a696c729d177340cc089531de7e2e5b6f065"><code>fbc3a69</code></a> Add support for namespaces in tuple parsing (<a href="https://redirect.github.com/pallets/jinja/issues/1664">#1664</a>)</li> <li><a href="https://github.com/pallets/jinja/commit/b8f4831d41e6a7cb5c40d42f074ffd92d2daccfc"><code>b8f4831</code></a> more comments about nsref assignment</li> <li><a href="https://github.com/pallets/jinja/commit/ee832194cd9f55f75e5a51359b709d535efe957f"><code>ee83219</code></a> Add support for namespaces in tuple assignment</li> <li><a href="https://github.com/pallets/jinja/commit/1d55cddbb28e433779511f28f13a2d8c4ec45826"><code>1d55cdd</code></a> Triple quotes in docs (<a href="https://redirect.github.com/pallets/jinja/issues/2064">#2064</a>)</li> <li><a href="https://github.com/pallets/jinja/commit/8a8eafc6b992ba177f1d3dd483f8465f18a11116"><code>8a8eafc</code></a> edit block assignment section</li> <li>Additional commits viewable in <a href="https://github.com/pallets/jinja/compare/3.1.4...3.1.5">compare view</a></li> </ul> </details> <br /> [](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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lukas Klingsbo <[email protected]>
Initial release of flame_console.
Add a basic component rendering benchmark.
…opagated (flame-engine#3439) Enhance tests for flame_markdown to ensure nested styles are propagated. Specifically adds a second section to each test to assert the element tree (after having asserted the node tree). And then uses that to add a nested inline style test making sure the "CSS" is propagated and merged correctly.
Added the Shorebird CI status badge to the root `README.md` Co-authored-by: Lukas Klingsbo <[email protected]>
…ne#3737) This PR removes the sometimes unnecessary creation of a growing list from `addAll`. > "I'm adding hundreds to thousands of components onto the screen in a short period of time. Switching to .add from .addAll cut down on these CPU-consuming functions: > > _GrowableList.add, _allocateData, _growToNextCapacity, length= > > Even if you're not adding components that need async onLoads, the engine is always instantiating a future list and > adding to it." Later on we should experiment with list comprehensions and see if they create a statically sized list.
Since we now have shorebird CI we can remove some of our CI steps, more of them will be possible to remove later.
This prints the hash in `ComponentKey.toString` so that users can differentiate between keys when debugging.
Start documentation for flame_3d. This is just a barebones start - we can expand as we go. Notably this adds a diagram for the hierarchy. <img width="981" height="547" alt="image" src="https://github.com/user-attachments/assets/82fad295-dc8f-4c74-b5fa-22b29175beaf" />
Moving flame_behaviors from [VeryGoodOpenSource/flame_behaviors repository](https://github.com/VeryGoodOpenSource/flame_behaviors) --------- Co-authored-by: Erick <[email protected]> Co-authored-by: Lukas Klingsbo <[email protected]>
…e#3743) Add console with backtick on flame_console example This makes the example a bit more ergonomic to test changes to the console by providing a key bind, backtick, for the console. This is also much more in line with how actual games would use this feature instead of a FAB (for example, on Bethesda games and many others, backtick brings up the console), and in particular will teach how to properly propagate events so both in-game keyboard handling _and_ the console keyboard handlers can co-exist.
…lame-engine#3741) Support secondary taps (right click) on new callbacks system. In order to follow through with our [event system migration](https://docs.google.com/document/d/1nBUup9QCPioVwWL1zs79z1hWF882tAYfNywFMdye2Qc), we need to make sure the new system is equipped to support all use cases; also changes the existing TapCallbacks to be primary-only. I noticed that we don't support "secondary taps" (i.e. right clicks), so I am adding this. I honestly really dislike the fact that this is considered a completely different event from the left click, instead of just a property on the click event. But I kept this structure to replicate what Flutter does, so this is more familiar for users. I think that is worth the slight verbosity of having yet another detector. Also, it plays well this way with Flutter because that underlying events are a bit different (for example, the secondary ones don't support `pointId`). Note: this is a slight breaking change because the existing detector works for BOTH left and right click, but there is NO WAY of distinguishing them because the `buttons` property is not propagated in the Flutter end (massive oversight I believe - might put a PR later). Since this provides the secondary as a solution, it also removes secondary clicks from triggering the primary. I think this is more versatile than having tap detector=`(primary OR secondary)` and secondary=`(secondary only)`. I don't think this should affect basically any users because (1) desktop only and (2) this acceptance of right clicks was probably a bug anyway (for example, on the example it would rotate the square and also open the context menu, which is jarring). However I am happy to add an option or pursue a different approach, I believe this is the best path forward, IMO.
…lame-engine#3745) Update input examples to use `RectangleComponent` where sensible. Minor simplification as suggested by @spydon on flame-engine#3741
Re-organize internal event files using the `events.dart` export. This changes the imports on all files to use the exposed `events.dart` export - this will vastly help us to catch issues of forgetting to expose things. If anything is imported from `src/`, we know it is not exposed by Flame. This should be absolutely no-op whatsoever - just organizational.
Co-authored-by: Lukas Klingsbo <[email protected]> Co-authored-by: Lukas Klingsbo <[email protected]>
Instead of converting from string every time a json map is read from the assets cache we store the json map directly.
…-engine#3747) Since the current fileName argument can take in paths it can confuse the user when they are loading maps and tilesets (see flame-engine/tiled.dart#89), this PR shows an assertion when the user does this.
Moving flame_steering_behaviors from [VeryGoodOpenSource/flame_behaviors repository](https://github.com/VeryGoodOpenSource/flame_behaviors) --------- Co-authored-by: Lukas Klingsbo <[email protected]>
Implements an `ExpandedComponent`, which takes up as much space as possible along the main axis within a `LinearLayoutComponent`. With more than one `ExpandedComponent`, this expansion is divided equally. `PaddingComponent` now inherits from `SingleLayoutComponent`. --------- Co-authored-by: Lukas Klingsbo <[email protected]> Co-authored-by: Lukas Klingsbo <[email protected]>
Updating flame_behaviors links in docs after package migration. --------- Co-authored-by: Lukas Klingsbo <[email protected]>
…TileData` (flame-engine#3751) [Sprite Fusion](https://www.spritefusion.com) now allows adding custom attributes to each tile (See [this Discord post](https://discord.com/channels/509714518008528896/1430116462454116424/1430116462454116424)). This PR adds code to parse these custom attributes along with some helper method to get the data from these attributes.
Update flame docs with latest in layout experiments --------- Co-authored-by: Lukas Klingsbo <[email protected]> Co-authored-by: Lukas Klingsbo <[email protected]>
``` The following 25 packages will be updated: Package Name Current Version Updated Version Update Reason flame 1.32.0 1.33.0 manual versioning flame_test 2.0.3 2.1.0 manual versioning flame_audio 2.11.10 2.11.11 updated with patch changes flame_behaviors 1.2.0 1.3.0 updated with minor changes flame_console 0.1.2+12 0.1.2+13 updated with patch changes flame_fire_atlas 1.8.11 1.8.12 updated with patch changes flame_network_assets 0.3.3+16 0.3.3+17 updated with patch changes flame_spine 0.2.2+16 0.2.2+17 updated with patch changes flame_sprite_fusion 0.2.0+3 0.2.1 updated with minor changes flame_steering_behaviors 0.2.0 0.2.1 updated with minor changes flame_tiled 3.0.7 3.0.8 updated with patch changes flame_behavior_tree 0.1.3+16 0.1.3+17 dependency was updated flame_oxygen 0.2.3+16 0.2.3+17 dependency was updated flame_isolate 0.6.2+16 0.6.2+17 dependency was updated flame_texturepacker 5.0.1 5.0.2 dependency was updated flame_bloc 1.12.17 1.12.18 dependency was updated flame_kenney_xml 0.1.1+16 0.1.1+17 dependency was updated flame_lottie 0.4.2+16 0.4.2+17 dependency was updated flame_markdown 0.2.4+9 0.2.4+10 dependency was updated flame_rive 1.10.19 1.10.20 dependency was updated flame_forge2d 0.19.2 0.19.2+1 dependency was updated flame_noise 0.3.2+16 0.3.2+17 dependency was updated flame_riverpod 5.4.19 5.4.20 dependency was updated flame_svg 1.11.16 1.11.17 dependency was updated flame_3d 0.1.1+2 0.1.1+3 dependency was updated ```
…#3755) Introduced a `getLayerByName` method to retrieve a layer by its name in `SpriteFusionTilemapData`.
Prepared all packages to be released to pub.dev --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Lukas Klingsbo <[email protected]>
As-is, the existing `flame_spine` supports Spine 4.2. `spine_flutter` in 4.3.0 now supports Spine 4.3, and this is backwards incompatible and breaking. If you need Spine 4.2, you should not upgrade to `flame_spine` 0.3.0, but this is for anyone who is ready to make the Spine 4.3 jump. We recommend pinning to 0.2.2 for `spine_flutter` 4.2.36 if you are staying on Spine 4.2. The top-level API has many breaking changes, and this changelog has a good summary of what needs to be done: https://pub.dev/packages/spine_flutter/changelog The Dart code changes are relatively straightforward, but any Spine models need to be re-exported through the 4.3 Spine Editor (and you SHOULD make sure that all models still do everything that is expected! There might be random bones that don't look right any more, random animations, and certain models just don't work.) Dart API changes: https://pub.dev/packages/spine_flutter/changelog Re-export at 4.2 Spine models from the 4.3 Spine Editor and confirm each model works.
Prepared all packages to be released to pub.dev Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Updating the flame_spine documentation to add some useful references.
Fixes some small typos in the docs
…gine#3767) Remove an erroneous `'return bullet;'` line from the space_shooter tutorial.
|
I think I should create other PR for this problem because there are so many changes after I created this. So, I close this PR now. |
Description
This PR for solving the issue #3076
1. What would I do to improve this tutorial:
2. Contents I will add or modify:
I believe these sections are satisfactory, so I won't make any edits to them. I will begin editing from the section: A New World.
Immediately after the
Start and restart actionssection, I will provide an explanation of the "KlondikeWorld" class. Consequently, the adjustment of the "KlondikeGame" class is merely a necessary step when migrating the onLoad() function to KlondikeWorld, rendering the "A stripped-down KlondikeGame class" section redundant.The section
Using a Random Number Generator seedappears reasonable. However, I intend to supplement more references to this definition of "seed." If you have any documents or suggestions on this topic, please provide further information. Otherwise, I will utilize the following link: Link to Reddit.The section
Introducing the new KlondikeWorld classwas previously covered, hence it will be omitted here. Please note that I will enrich the previous instruction with additional details.Button: I will retain and expand upon this section as it lacks significant information.Anchors and coordinates: This section may be considered supplementary information within the Button section. Therefore, I will incorporate and merge it into the Button section.The deal() method: I will maintain this section in its current position, perhaps making minor sentence edits or none at all.More animations of moves: Similar to the section "The deal() method."A graphics glitch: As above.Winning the game: I find this section quite comprehensive; hence, I may not make any alterations.Ending a game and restarting it: This section lacks crucial details and is rather confusing. I will rewrite it to clarify.Have fun button: This section is well-structured; therefore, I may retain it with minor adjustments if necessary.Checklist
docsand added dartdoc comments with///.examplesordocs.Breaking Change?
Related Issues
This PR solve the issue #3076