Ejemplo n.º 1
0
        protected override void Initialize()
        {
            //Initilaize Layer Data
            layerData = new Dictionary<LayerFX, LayerFXData>();

            //Fill Dictionary with Default Values
            foreach (LayerFX layer in Enum.GetValues(typeof(LayerFX)))
            {
                layerData.Add(layer, LayerFXData.Default);
            }

            editorcontent = new ContentManager(Services, "StarEditData");
            gamecontent = new ContentManager(Services, "Data");
            blanktex = gamecontent.Load<Texture2D>("Stuff/Blank");

            recttool = new Rectangle();
            options = new Options();
            options.ScreenHeight = DisplayRectangle.Height;
            options.ScreenWidth = DisplayRectangle.Width;
            options.ScreenWidth = GraphicsDevice.PresentationParameters.BackBufferWidth;
            options.ScreenHeight = GraphicsDevice.PresentationParameters.BackBufferHeight;
            options.InitObjectHolder.graphics = GraphicsDevice;

            options.InitObjectHolder.serviceProvider = Services;
            oldscreensize = new Point(DisplayRectangle.Width, DisplayRectangle.Height);
            try
            {
                arial = editorcontent.Load<SpriteFont>("Arial");
                spritebatch = new SpriteBatch(GraphicsDevice);
            }
            catch (Exception e)
            {
                string error = e.Message;
            }
            level = new Level();
            level.LoadLevel(Services,GraphicsDevice,options);
            //level = new Level(Services);
            iObjectManager = new InteractiveObjectManager();
            iObjectManager.Initialize(Services, level.LevelVariables, GraphicsDevice, options);
            rearparallaxLayer = new ParallaxLayer();
            frontparallaxLayer = new ParallaxLayer();
            cloudlayer = new CloudLayer();
            reardecoLayer = new DecoLayer();
            frontDecoLayer = new DecoLayer();
            SetBGRect();
            camera = new Camera(DisplayRectangle.Width, DisplayRectangle.Height, Vector2.Zero, DisplayRectangle.Height / 600f);
            mousetile = new Tile(0, 0);
            mousetile.load_tile((int)TileType.Wall,null);
            mouseTex = editorcontent.Load<Texture2D>("mousetile");
            if (level.Tiles != null)
            {
                mousetile.LoadGrass();
            }
            SetBorders(1, 1);
            enemymanager = new EnemyManager(Services, new Options());
            try
            {
                placeEnemy = new SingleEnemyManager(Services);
                placeEnemy.LoadEnemy(selectedEnemy);
            }
            catch (Exception e)
            {
                FileManager.WriteInErrorLog(this, e.Message, e.GetType());
            }

            bg_tex = new Texture2D(GraphicsDevice, 1, 1);
            colorizePost = new ColorizeLUT();
            colorizePost.Initialize(Services,GraphicsDevice,new Options());
            colorizePost.Enabled = true;
            colorizePost.StartResetEffect();
            colorizePost.FxData = LayerFXData.Default;
            colorizeBackground = new ColorizeLUT();
            colorizeBackground.Initialize(Services, GraphicsDevice, new Options());
            colorizeBackground.Enabled = true;
            colorizeBackground.StartResetEffect();

            target = new RenderTarget2D(GraphicsDevice,
                GraphicsDevice.PresentationParameters.BackBufferWidth,
                GraphicsDevice.PresentationParameters.BackBufferHeight,
                false,
                SurfaceFormat.Color,
                DepthFormat.None,

                GraphicsDevice.PresentationParameters.MultiSampleCount,
                RenderTargetUsage.PreserveContents);
        }
Ejemplo n.º 2
0
        public void LoadLevel(IServiceProvider ServiceProvider,GraphicsDevice device,string level_name, LevelType leveltype,Options options)
        {
            level.Dispose();
            level = new Level();
            level.LevelLoadLineEnhanced += new LevelLoadLineEnhancedEventHandler(level_LevelLoadLineEnhanced);
            level.LoadLevel(ServiceProvider,device,options, level_name, leveltype);
            //level = new Level(ServiceProvider, level_name, leveltype);
            GameParameters.CurrentGraphXPack = level.LevelVariables.Dictionary[LV.GraphXPack];
            colorizeBackground.Dispose();
            colorizeBackground = new ColorizeLUT();
            colorizeBackground.Initialize(ServiceProvider, device, options);
            colorizeBackground.Enabled = true;
            colorizeBackground.StartResetEffect();
            colorizeBackground.FxData = LayerFXData.FromString(level.LevelVariables.Dictionary[LV.BackgroundFX]);
            colorizePost.Dispose();
            colorizePost = new ColorizeLUT();
            colorizePost.Initialize(ServiceProvider, device, options);
            colorizePost.Enabled = true;
            colorizePost.StartResetEffect();
            colorizePost.FxData = LayerFXData.FromString(level.LevelVariables.Dictionary[LV.PostFX]);
            iObjectManager.Dispose();
            iObjectManager = new InteractiveObjectManager();
            iObjectManager.Initialize(content.ServiceProvider, level.LevelVariables,device, options);

            LevelLoadEnhanced(50, "Level Loaded...");
            player = new Player(level.Startpos, Content);
            InitializeLayer(options,device);
            LevelLoadEnhanced(60, "Layers Initialized");
            gamelogic.Dispose();
            gamelogic = new GameLogic();
            gamelogic.Initialize(content.ServiceProvider,device, level.LevelVariables, options);
            camera = new Camera(options.ScreenWidth,
                options.ScreenHeight,
                level.Startpos,
                (float) options.ScaleFactor);
            debugscreen = new DebugScreen(Content, level.Startpos);
            LevelLoadEnhanced(75, "Game Logic Loaded");
            bg_tex = content.Load<Texture2D>(GameConstants.GraphXPacksPath + level.LevelVariables.Dictionary[LV.GraphXPack] + "/Backgrounds/" + level.LevelVariables.Dictionary[LV.BackgroundImg]);
            enemyManager.Dispose();
            enemyManager = new EnemyManager(ServiceProvider,options);
            LoadEnemies(options);

            enemyManager.PlayerKilled += gamelogic.PlayerKilled;

            //Invoke LevelLoaded Event
            LevelLoaded();
            //Cleaning UP...
            GC.Collect();

            firstFrame = true;
        }
Ejemplo n.º 3
0
 public void LoadLevel(string levelPath)
 {
     SetBGRect();
     level = new Level();
     level.LoadLevel(Services,GraphicsDevice,options, levelPath);
     //level = new Level(Services, levelPath);
     SetBorders(level.Tiles.GetLength(1), level.Tiles.GetLength(0));
     camera = new Camera(DisplayRectangle.Width, DisplayRectangle.Height, level.Startpos, DisplayRectangle.Height / 1200f);
     mouseoffset = new Vector2(DisplayRectangle.Width/2, DisplayRectangle.Height/2);
     InitializeLayer(options);
     LoadEnemies();
     iObjectManager.Dispose();
     iObjectManager = new InteractiveObjectManager();
     iObjectManager.Initialize(Services, level.LevelVariables, GraphicsDevice, options);
     bg_tex = gamecontent.Load<Texture2D>(GameConstants.GraphXPacksPath + level.LevelVariables.Dictionary[LV.GraphXPack] + "/Backgrounds/" + level.LevelVariables.Dictionary[LV.BackgroundImg]);
 }