Пример #1
0
 public FlashlightVignette()
 {
     circle = new CircleSprite
     {
         Radius        = VisibleRadius,
         LineThickness = 0,
         FillColor     = Color.Transparent,
     };
 }
Пример #2
0
        public BubbleGlow(float speed, float rotation, CircleSprite bubbleCircle) : base()
        {
            this.bubbleCircle = bubbleCircle;
            this.rotation     = rotation;

            float glowAniSpeed    = 4000 / speed;
            float glowAniEndDelay = 250 / speed;

            Animation.Animate(0f, 2, glowAniSpeed, repeat: true, repeatDelay: glowAniEndDelay);
        }
Пример #3
0
 public SpawnIndicator(Spawner parent)
 {
     this.parent = parent;
     circle      = new CircleSprite()
     {
         Radius        = 0f,
         LineThickness = 0f,
         Subdivisions  = parent.Subdivisions,
     };
 }
Пример #4
0
        private void KeepPlayerInbounds(CircleSprite arenaCircle, Vector2 newPos)
        {
            float distance = Vector2.Distance(arenaCircle.Center, newPos);

            // is it outside the circle?
            if (distance > Math.Abs(Radius - arenaCircle.Radius))
            {
                var collision = newPos - arenaCircle.Center;
                var radians   = (float)Math.Atan2(collision.Y, collision.X);
                Center = new Vector2(
                    arenaCircle.Center.X + (arenaCircle.Radius - Radius) * (float)Math.Cos(radians),
                    arenaCircle.Center.Y + (arenaCircle.Radius - Radius) * (float)Math.Sin(radians)
                    );
            }
        }
Пример #5
0
        protected override void UpdatePosition(LevelTime levelTime, CircleSprite arenaCircle, ArenaCamera camera,
                                               bool confineCursorToScreen)
        {
            // TODO: Allow rebinding
            if (HasKeyboardMovement())
            {
                Center = DoKeyboardMovement(levelTime, inputHelper.KeyboardState);
            }
            else if (HasMouseMovement())
            {
                Center = DoMouseMovement(camera, confineCursorToScreen);
            }

            oobShadow.Center = camera.MouseToWorld(new Vector2(inputHelper.MouseState.X, inputHelper.MouseState.Y));

            KeepPlayerInbounds(arenaCircle, Center);
            SetCenters(Center);
        }
Пример #6
0
        public ArenaCircle() : base()
        {
            Circle = new CircleSprite()
            {
                Subdivisions  = 80,
                PenAlignment  = PenAlignment.Outset,
                FillColor     = Color.White,
                Radius        = Arena.ArenaRadius,
                Center        = Vector2.Zero,
                LineThickness = 2,
            };

            Hitbox = new CircleHitbox(Circle);

            SongPosCircle = new CircleSprite()
            {
                PenAlignment = PenAlignment.Outset,
            };

            ScoreCircle = new CircleSprite
            {
                LineThickness = 0f,
            };
        }
Пример #7
0
 public OuterRings(Color ringColor, CircleSprite arenaCircle)
 {
     this.ringColor   = ringColor;
     this.arenaCircle = arenaCircle;
 }