Пример #1
0
        private void UpdateMoving()
        {
            float Dx = 0.0f;
            float Dy = 0.0f;

            if (GameGuiScreen.IsPlaying())
            {
                if (GameLevel.Input.Left.Down)
                {
                    ReqAngle = (int)Direction * 90;
                    MoveLeft(Speed);
                    Dx = Speed;
                }
                else if (GameLevel.Input.Right.Down)
                {
                    MoveRight(Speed);
                    Dx = -Speed;
                }
                else if (GameLevel.Input.Up.Down)
                {
                    MoveUp(Speed);
                    Dy = Speed;
                }
                else if (GameLevel.Input.Down.Down)
                {
                    MoveDown(Speed);
                    Dy = -Speed;
                }
            }

            if (GameLevel.GetIntersectingEntities(this).Count > 0 || GameLevel.GetIntersectingPlayers(this, IntersectionType.BY_ID).Count > 0)
            {
                X += Dx;
                Y += Dy;
            }

            Moving = Dx != 0 || Dy != 0;
            GameLevel.CenterCameraOnPlayer();

            if (Moving)
            {
                if (Speed < MaxSpeed)
                {
                    Speed += SpeedDelta;
                }
                if (SkippedTrackTicks++ > 2)
                {
                    SkippedTrackTicks = 0;
                    if (TrackState++ >= 2)
                    {
                        TrackState = 0;
                    }
                }
            }
            else
            {
                Speed      = MinSpeed;
                TrackState = 0;
            }
        }
Пример #2
0
        public void Respawn()
        {
            Teams team = Team;

            if (GameLevel.GetMode() == Modes.Deathmatch)
            {
                team = Teams.NoTeam;
            }
            SetCoordinates(GetSpawnCoordinates(GameLevel.GetSpawners(team)));
            Reanimate();
            UnbindMasterEntityMoving();
            GameLevel.CenterCameraOnPlayer();
        }
Пример #3
0
 public override void Resized()
 {
     GameLevel.CenterCameraOnPlayer();
     GameLevel.UpdateBitmapSize();
 }