Skip to content
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

[ENGINE] Implement queue system for actions #252

Closed
SchauweM opened this issue Feb 28, 2021 · 0 comments · Fixed by #273
Closed

[ENGINE] Implement queue system for actions #252

SchauweM opened this issue Feb 28, 2021 · 0 comments · Fixed by #273
Assignees
Labels
documentation Improvements or additions to documentation enhancement Enhancement to an existing feature help wanted Extra attention is needed needs workshopping new feature A new feature or request work in progress Work in progress

Comments

@SchauweM
Copy link
Collaborator

SchauweM commented Feb 28, 2021

Game Engine Feature Description

As a plugin developer, I expect to be able to assign priority to action hooks that can place them into an action queue to be executed asynchronously.

Many actions in-game are queued by priority, these queues are applied to all actors (both players and npcs).

There are three priorities that can be assigned to actions:

Weak

Weak actions cancel whenever any other action is performed - movement, opening an interface, other weak actions, etc. Weak actions are ignored if a normal or strong action is running.

Normal

Normal strength actions will pause and wait for opened interfaces to be closed before continuing to execute. Normal actions are cancelled by movement, other normal strength actions, and strong actions.

Strong

Strong actions will close opened interfaces in order to execute. Strong actions can only be cancelled manually or via expiring/executing naturally.

Acceptance Criteria

TBD - Needs Workshopping

Additional Information

We need to figure out what action does what and implement accordingly. A good action priority queue implementation is present in https://github.com/rsmod/rsmod

@Tynarus Tynarus self-assigned this Mar 13, 2021
@Tynarus Tynarus added documentation Improvements or additions to documentation enhancement Enhancement to an existing feature help wanted Extra attention is needed needs workshopping new feature A new feature or request work in progress Work in progress labels Mar 13, 2021
@Tynarus Tynarus changed the title Implement queue system for actions [EImplement queue system for actions Mar 13, 2021
@Tynarus Tynarus changed the title [EImplement queue system for actions [ENGINE] Implement queue system for actions Mar 13, 2021
@SchauweM SchauweM linked a pull request Mar 16, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement Enhancement to an existing feature help wanted Extra attention is needed needs workshopping new feature A new feature or request work in progress Work in progress
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants