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

Separate slider ball and followcircle skinnables into default/legacy classes #18945

Merged
merged 1 commit into from
Jul 1, 2022

Conversation

goodtrailer
Copy link
Contributor

Continuation of #14832 based on comments from #18795

The original PR was too ambitious. As mentioned, the changes should have been more granular. This is the first part of the original PR and aims to make improvements to the project's file structure, which is necessary to implement the slider anim changes. However, keeping with the idea of granularity, this PR is meant to be treated mostly individually, as this PR is intended to be beneficial on its own, whether or not the slider anim changes are accepted.

Summary

  • Separates slider ball and followcircle skinnables into Default and Legacy classes
  • Moves game logic from SliderBall into new DrawableSliderBall class
  • Renames fullSizeFollowCircle to followCircleReceptor

Rationale

  • Separating slider ball and followcircle into Default and Legacy classes:
    • Better fits the already in-place format that other skinnables follow (spinners, approach circles, etc.)
    • Provides more flexibility w.r.t. animating slider balls and followcircles
  • Moving game logic into new DrawableSliderBall class:
    • Classes in the Skinning namespace should pertain to visuals, not to actual game logic (i.e. tracking, ball movement)
    • Necessary for splitting slider ball into Default and Legacy (without duplicating an ungodly amount of code)
  • Renaming fullSizeFollowCircle to followCircleReceptor:
    • Better reflects what the object actually does (acts as an invisible, virtual hitbox)
    • Is similar to how DrawableHitCircle names its own hitbox


namespace osu.Game.Rulesets.Osu.Skinning.Legacy
{
public class LegacyFollowCircle : CompositeDrawable
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class is a bit pointless but I guess it's okay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants