Skip to content
This repository has been archived by the owner on Jul 28, 2022. It is now read-only.

Commit

Permalink
Merge master
Browse files Browse the repository at this point in the history
  • Loading branch information
Sleitnick committed Dec 29, 2019
2 parents 699829d + 7b8a6ca commit d8f13a6
Show file tree
Hide file tree
Showing 52 changed files with 1,919 additions and 934 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
imgs/*.psd
.luacheckrc
node_modules/
node_modules/
site/
24 changes: 19 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ As always, you can also check the commit history for a given version as well, an

| Version | Date | Description |
| ---|---|--- |
| [1.3.0](#1.3.0) | 2019-12-19 | <ul><li>Restructured source directory and installer to be compatible with Rojo</li></ul> |
| [1.4.1](#1.4.1) | 2019-12-15 | <ul><li>Fixed execution order for modules to respect init/start lifecycle</li><li>Add ability to force `Init` execution order using `__aeroOrder` field</li></ul> |
| [1.4.0](#1.4.0) | 2019-10-17 | <ul><li>Added `service:FireAllClientsEventExcept(eventName, player, ...)`</li><li>Dropped Roblox Studio plugin support in favor of VS Code extension</li><li>New documentation site</li></ul> |
| [1.3.0](#1.3.0) | 2018-12-19 | <ul><li>Restructured source directory and installer to be compatible with Rojo</li></ul> |
| [1.2.6](#1.2.6) | 2018-11-12 | <ul><li>Expanded TableUtil library</li></ul> |
| [1.2.5](#1.2.5) | 2018-09-20 | <ul><li>Added `__aeroPreventStart` flag for modules that already implement a Start method.</li><li>Added `__aeroPreventInit` flag for modules that already implement an Init method.</li><li>Flagged `__aeroPreventStart` for CameraShaker module.</li></ul> |
| [1.2.4](#1.2.4) | 2018-09-20 | <ul><li>Using `coroutine` yielding/resuming where applicable</li><li>Cleaned up deprecated code in TaskScheduler</li></ul> |
Expand All @@ -23,10 +25,22 @@ As always, you can also check the commit history for a given version as well, an

### Version History Notes

#### <a name="1.3.0"> Version 1.3.0
#### <a name="1.4.1"></a> Version 1.4.1
Fixed an issue with lazy-loaded modules. Before, lazy-loaded modules could break the execution lifecycle rule if loaded within the `Init` method of a service or controller. When this happened, the `Init` _and_ `Start` method would execute within the loaded module. This is a problem, since `Start` should not be executed yet. This is now fixed. The `Start` method will be held off from execution until the proper time within the framework lifecycle.

A new optional field has been added called `__aeroOrder`. Setting this field to a number will define the `Init` execution order for the service or controller. The order is interpreted in ascending order. In other words, a service with an order of `1` will be guaranteed to initialize before a service with the order of `2`. Services and controllers that don't define `__aeroOrder` will default to an order of `math.huge`, which simply makes them executed last, but in no particular order otherwise.

#### <a name="1.4.0"></a> Version 1.4.0
Added `service:FireAllClientsEventExcept(eventName, player, ...)`, which allows firing client events for all clients except the given player. One use-case for this is to implement custom replication, where a player's action needs to be communicated to the other players.

The origin AGF plugin for Roblox Studio is now deprecated in favor of the VS Code extension.

The documentation site has been rebuilt using MkDocs, which will enable easier additions, edits, and contributions.

#### <a name="1.3.0"></a> Version 1.3.0
Restructured source directory and installer to be compatible with Rojo. For compatibility, please be sure to update the plugin as well. The older versions of the plugin are not compatible with the new directory structure, and thus will fail to install or update the framework.

#### <a name="1.2.6"> Version 1.2.6
#### <a name="1.2.6"></a> Version 1.2.6
Expanded the TableUtil library. Specifically, the following functions have been added:

- `TableUtil.Map(Table tbl, Function callback)`
Expand All @@ -41,7 +55,7 @@ Expanded the TableUtil library. Specifically, the following functions have been

Examples have been added within the source code of the TableUtil module.

#### <a name="1.2.5"> Version 1.2.5
#### <a name="1.2.5"></a> Version 1.2.5
Added `__aeroPreventStart` and `__aeroPreventInit` flags for modules (both server and client). If the `__aeroPreventStart` flag is present for a module, then the framework will not invoke the `Start` method for that module when first loaded. Similarly, `__aeroPreventInit` will prevent the framework from invoking the `Init` method when first loaded. In summary, the two flags will prevent the default behavior of the framework calling the associated `Start` and `Init` methods. This is useful if an existing module is added to the framework that has already implemented these methods for other uses.

This change will also apply to any modules using the `WrapModule` method on either the server or client.
Expand All @@ -64,7 +78,7 @@ function MyModule:Init()
end
```

#### <a name="1.2.4"> Version 1.2.4
#### <a name="1.2.4"></a> Version 1.2.4
Instead of using `while` loops to wait for code to complete, proper usage of `coroutine.yield` and `coroutine.resume` have been implemented. This change reflects best practices on Roblox. Doing this was not possible before a recent Roblox update. The overall behavior of the code remains entirely the same.

Some deprecated code has also been fixed in the TaskScheduler. The functionality remains entirely the same.
Expand Down
20 changes: 20 additions & 0 deletions DOCS_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Docs Readme

All documentation files are found under `/docs`. The documentation runs on [MkDocs](https://www.mkdocs.org/).

To simplify the development process, the `docs.sh` script has been written. The commands are shown below.

#### Watch:
```sh
$ ./docs.sh watch
```

#### Build:
```sh
$ ./docs.sh build
```

#### Deploy:
```sh
$ ./docs.sh deploy
```
Loading

0 comments on commit d8f13a6

Please sign in to comment.