private void Initialize()
{
// create Camera
_camera = new ArcBallCamera(MapData.GetWorldPosition(20, 20), 0, MathHelper.PiOver2 * 0.5f * 0.8f * 0.8f, 0, MathHelper.PiOver2, CameraDistance, 30, 100, Manager.GraphicsDevice);
// zooming
zooming = new Zooming("Middle", "VeryFar", 2f, "Far", 1.3f, "Middle", 1.0f, "Near", 0.7f, "VeryNear", 0.5f, "Detail", 0.2f);
zooming.ZoomChanged += delegate(float zoom) { _camera.Distance = CameraDistance * zoom; };
_effect = Manager.Content.Load<Effect>("Content/Effects/Series4Effects");
Mouse.SetPosition(Manager.GraphicsDevice.Viewport.Width / 2, Manager.GraphicsDevice.Viewport.Height / 2);
_skyDome = Manager.Content.Load<Model>("Content/Models/dome");
_skyDome.Meshes[0].MeshParts[0].Effect = _effect.Clone();
_cloudMap = Manager.Content.Load<Texture2D>("Content/Models/cloudMap");
_mapRenderer.Initialize();
_mapRenderer.LoadContent();
// init complete view
defaultViewport = new Viewport();
defaultViewport.X = 0;
defaultViewport.Y = 0;
defaultViewport.Width = Manager.GraphicsDevice.Viewport.Width;
defaultViewport.Height = Manager.GraphicsDevice.Viewport.Height;
// init control view
controlViewport = new Viewport();
controlViewport.X = 4;
controlViewport.Y = 27;
controlViewport.Width = Manager.GraphicsDevice.Viewport.Width - 8;
controlViewport.Height = Manager.GraphicsDevice.Viewport.Height - 32;
}