@@ -18,6 +18,8 @@ class CharSelectCursors extends FlxTypedSpriteContainer<FunkinSprite>
1818 var cursorConfirmed : FunkinSprite ;
1919 var cursorDenied : FunkinSprite ;
2020
21+ var cursorsIntroOutroOffset : Float = 240 ;
22+
2123 public function new ()
2224 {
2325 super ();
@@ -103,4 +105,38 @@ class CharSelectCursors extends FlxTypedSpriteContainer<FunkinSprite>
103105 cursorDenied .x = main .x - 2 ;
104106 cursorDenied .y = main .y - 4 ;
105107 }
108+
109+ public function snapToLocation (intendedPosition : FlxPoint ): Void
110+ {
111+ main .setPosition (intendedPosition .x , intendedPosition .y );
112+ lightBlue .setPosition (intendedPosition .x , intendedPosition .y ); // Using intendedPosition since we anyway snapping them
113+ darkBlue .setPosition (intendedPosition .x , intendedPosition .y );
114+ cursorConfirmed .setPosition (main .x - 2 , main .x - 4 );
115+ cursorDenied .setPosition (main .x - 2 , main .x - 4 );
116+ }
117+
118+ public function slide (slideIn : Bool )
119+ {
120+ if (slideIn )
121+ {
122+ main .alpha = 0 ;
123+ lightBlue .alpha = 0 ;
124+ darkBlue .alpha = 0 ;
125+
126+ main .y + = cursorsIntroOutroOffset ;
127+ lightBlue .y + = cursorsIntroOutroOffset ;
128+ darkBlue .y + = cursorsIntroOutroOffset ;
129+
130+ FlxTween .tween (main , {alpha : 1 , y : main .y - cursorsIntroOutroOffset }, 0.9 , {ease : FlxEase .expoOut });
131+ FlxTween .tween (lightBlue , {alpha : 1 , y : lightBlue .y - cursorsIntroOutroOffset }, 0.95 , {ease : FlxEase .expoOut });
132+ FlxTween .tween (darkBlue , {alpha : 1 , y : darkBlue .y - cursorsIntroOutroOffset }, 1.0 , {ease : FlxEase .expoOut });
133+ }
134+ else
135+ {
136+ FlxTween .tween (main , {alpha : 0 , y : main .y + cursorsIntroOutroOffset }, 0.8 , {ease : FlxEase .backIn });
137+ FlxTween .tween (lightBlue , {alpha : 0 , y : lightBlue .y + cursorsIntroOutroOffset }, 0.82 , {ease : FlxEase .backIn });
138+ FlxTween .tween (darkBlue , {alpha : 0 , y : darkBlue .y + cursorsIntroOutroOffset }, 0.84 , {ease : FlxEase .backIn });
139+ FlxTween .tween (cursorConfirmed , {alpha : 0 , y : cursorConfirmed .y + cursorsIntroOutroOffset }, 0.8 , {ease : FlxEase .expoOut });
140+ }
141+ }
106142}
0 commit comments