Skip to content

Commit

Permalink
Version 0.4.2 Release [Bugfix]
Browse files Browse the repository at this point in the history
Bugfix release
  • Loading branch information
Dreaming381 committed Oct 6, 2021
1 parent a3a9eee commit 822e8d9
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 8 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic
Versioning](http://semver.org/spec/v2.0.0.html).

## [0.4.2] – 2021-10-5

Officially supports Entities [0.17.0]

### Changed

- Updated Core to v0.4.2

## [0.4.1] – 2021-9-16

Officially supports Entities [0.17.0]
Expand Down
5 changes: 3 additions & 2 deletions Core/Core/Framework/LatiosWorld.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public SyncPointPlaybackSystem syncPoint
private bool m_paused = false;
private bool m_resumeNextFrame = false;

public LatiosWorld(string name) : base(name)
public LatiosWorld(string name, WorldFlags flags = WorldFlags.Simulation) : base(name, flags)
{
//BootstrapTools.PopulateTypeManagerWithGenerics(typeof(ManagedComponentTag<>), typeof(IManagedComponent));
BootstrapTools.PopulateTypeManagerWithGenerics(typeof(ManagedComponentSystemStateTag<>), typeof(IManagedComponent));
Expand Down Expand Up @@ -182,7 +182,8 @@ internal void BeginDependencyTracking(SubSystemBase sys)
{
if (m_activeSystem != null)
{
throw new InvalidOperationException("Error: Calling Update on a SubSystem from within another SubSystem is not allowed!");
throw new InvalidOperationException(
$"{sys.GetType().Name} has detected that the previously updated {m_activeSystem.GetType().Name} did not finish its update procedure properly. This is likely due to an exception thrown from within OnUpdate(), but please note that calling Update() on a SubSystem from within another SubSystem is not supported.");
}
m_activeSystem = sys;
m_activeSystemAccessedSyncPoint = false;
Expand Down
16 changes: 16 additions & 0 deletions Documentation~/Core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,22 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic
Versioning](http://semver.org/spec/v2.0.0.html).

## [0.4.2] – 2021-10-5

Officially supports Entities [0.17.0]

### Added

- Added `flags` parameter to `LatiosWorld` constructor which is required for
NetCode projects.

### Improved

- Improved the error message for when a `SubSystem` begins its `OnUpdate()`
procedure but the previous `SubSystem` did not clean up the automatic
dependency stack. The error now identifies both systems and suggests the
more likely cause being an exception in the previous `SubSystem`.

## [0.4.1] – 2021-9-16

Officially supports Entities [0.17.0]
Expand Down
8 changes: 5 additions & 3 deletions Documentation~/Core/LatiosWorld in Detail.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ The following systems are created by the `LatiosInitializationSystemGroup`:
- [SyncPointPlaybackSystem](Custom%20Command%20Buffers%20and%20SyncPointPlaybackSystem.md)
– This is a system capable of playing back command buffers which perform ECS
structural changes
- [SceneManagerSystem](Scene%20Management.md) – Triggers scene changes
- [SceneManagerSystem](Scene%20Management.md) – Triggers scene changes and
initializes `sceneBlackboardEntity` in play mode.
- [MergeBlackboardsSystem](Blackboard%20Entities.md) – Merges
`BlackboardEntityData` entities into the `sceneBlackboardEntity` and
`worldBlackboardEntity`
Expand Down Expand Up @@ -71,7 +72,7 @@ Currently, the `LatiosInitializationSystemGroup` orders itself as follows:
- [End OrderFirst region]
-
- [Unity SceneSystemGroup]
- LatiosWorldSyncSystem
- LatiosWorldSyncGroup
- MergeBlackboardsSystem
- ManagedComponentReactiveSystemGroup
- [End OrderFirst region]
Expand Down Expand Up @@ -109,4 +110,5 @@ behavior.
The `LatiosWorld` also contains the public `useExplicitSystemOrdering` flag
which tells `SuperSystem`s if they should enable system sorting by default. This
is used by the bootstrap templates to set the appropriate workflow. However, a
`SuperSystem` may override this setting for itself in `CreateSystems()`.
`SuperSystem` may override this setting for itself in `CreateSystems()` by
setting the `EnableSystemSorting` flag.
8 changes: 7 additions & 1 deletion Documentation~/Core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -325,9 +325,15 @@ complex code a little more compact and readable.
- System sorting does not occur automatically for non-user
`ComponentSystemGroup`s after initialization. Call `SortSystems()`
explicitly for these groups.
- Automatic dependency management for `latiosWorld.SyncPoint` and collection
components do not function correctly when used inside `OnStartRunning()` or
`OnStopRunning()`. This is due to a bug in `SystemBase` which assumes no
exceptions or jobs occur inside these methods.

## Near-Term Roadmap

- Automatic `ConverterVersion` bumping on code changes
- Exposed `UnsafeParallelBlockList` and similar data structures
- Gameplay Toolkit
- Reduce cognitive overhead of DOTS for gameplay programmers
- Hierarchy navigation and modification
Expand All @@ -342,7 +348,7 @@ complex code a little more compact and readable.
- World configuration settings
- Improved collection components
- Default initialization interface
- Dependency backup/restore for Entities.ForEach
- Dependency backup/restore for `Entities.ForEach`
- Get as ref
- Conversion and serialization
- Profiling tools
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Latios Framework Packages for DOTS – [0.4.1]
# Latios Framework Packages for DOTS – [0.4.2]

The packages contained in this repository are packages built upon Unity DOTS
which I use for my own personal hobbyist game development. All packages are
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "com.latios.latiosframework",
"displayName": "Latios Framework for DOTS",
"version": "0.4.1",
"version": "0.4.2",
"unity": "2020.1",
"description": "Latios Framework for DOTS is a collection of tools, algorithms, and API extensions developed by a hardcore hobbyist game developer.\n\nThis package includes all of the following packages:\n\u25aa Core\n\u25aa Psyshock Physics\n\u25aa Myri Audio\n\nExamples: \n\u25aa Latios Space Shooter Sample - https://github.com/Dreaming381/lsss-wip/tree/v0.4.0\n\u25aa Mini Demos - https://github.com/Dreaming381/LatiosFrameworkMiniDemos",
"dependencies": {
Expand Down

0 comments on commit 822e8d9

Please sign in to comment.