コード例 #1
0
ファイル: SGame.cs プロジェクト: pampersrocker/STAR
 public SGame(IServiceProvider ServiceProvider)
 {
     //Filling LevelLoadEnhanced Event that is is not null
     LevelLoadEnhanced += new LevelLoadEnhancedEventHandler(SGame_LevelLoadEnhanced);
     content = new ContentManager(ServiceProvider);
     content.RootDirectory = "Data";
     enemyManager = new EnemyManager(ServiceProvider,new Options());
     start = DateTime.Now;
     iObjectManager = new InteractiveObjectManager();
 }
コード例 #2
0
ファイル: SGame.cs プロジェクト: pampersrocker/STAR
        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;
        }
コード例 #3
0
ファイル: LevelControl.cs プロジェクト: pampersrocker/STAR
        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);
        }