protected override void CalcMove()
        {
            if (GameWorld.IsInRange(GameObject.Location, TargetLocation, MaxRange))
            {
                int angle = (int)GameWorld.CalcAngle(GameObject.Location.ToPoint(), TargetLocation.ToPoint());

                if (GameWorld.IsInRange(GameObject.Location, TargetLocation, MinRange))
                {
                    if (angle < 180)
                    {
                        angle += 180;
                    }
                    else
                    {
                        angle -= 180;
                    }

                    GameObject.TargetSpeed = this.targetSpeed;
                }
                else if (GameWorld.IsInRange(GameObject.Location, TargetLocation, MinRange, MidRange))
                {
                    GameObject.TargetSpeed = 0;
                }
                else
                {
                    GameObject.TargetSpeed = this.targetSpeed;
                }

                GameObject.Angle = angle;
            }
            else
            {
                Speed.X = 0;
                Speed.Y = 0;
            }
        }