8000 Implement connected HitObjectLine for twin notes by LumpBloom7 · Pull Request #194 · LumpBloom7/sentakki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Implement connected HitObjectLine for twin notes #194

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

Merged
merged 20 commits into from
Mar 23, 2021
Merged

Conversation

LumpBloom7
Copy link
Owner

Previously, individual laned HitObjects maintained their own HitObjectLine. Their line remained static and didn't consider the presence of a twin.

This PR decouples the HitObjectLine from the HitObject drawables, and delegate the task of rendering the lines to a HitObjectLineRenderer within LanedPlayfield. The renderer functions similarly to osu!standard's FollowPointRenderer.

The renderer has full knowledge of all HitObjects present within the session, and groups HitObjects based on their StartTime. Each group is then assigned a HitObjectLineEntry (derived from LifetimeEntry), which determine the type of line that it is based on the amount of HitObjects in that group, and their assigned lanes. The HitObjectLineEntry is then used by the renderer to Add/Remove the appropriate Line Drawable to/from the hierarchy. The lines are pooled ahead-of-time based on their type.

Example of a connected line for a set of twins (White dots represent the lanes of the HitObjects):
image

There are currently five line types, which are as follows

// Individual or zero distance
Single 
// Selected based on distance between the furthest two hitobjects
OneAway
TwoAway
ThreeAway
// Anything over the above threshold
Full

@LumpBloom7 LumpBloom7 added the enhancement New feature or request label Mar 18, 2021
This would be used in the editor, where it is expected that Lines get updated as hitobjects are added/removed or their properties modified.
@LumpBloom7 LumpBloom7 merged commit a774957 into master Mar 23, 2021
@LumpBloom7 LumpBloom7 deleted the HOLRenderer branch March 23, 2021 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0