Пример #1
0
        protected override bool CheckActvationEvent(GameTime gameTime, Rectangle playerBoundingBox, int timeLeft, Quadtree quadtree, SGame stateGame)
        {
            camera = stateGame.Camera;
            playerPos = new Vector2(playerBoundingBox.Center.X, playerBoundingBox.Center.Y);
            bool activation = Enabled;
            List<Tile> killtiles = quadtree.GetCollision(playerBoundingBox);
            foreach (Tile tile in killtiles)
            {
                if (tile.TileType == TileType.Spike)
                {
                    Rectangle rect = tile.get_rect;
                    rect.Y += 12;
                    rect.Height -= 12;
                    if (playerBoundingBox.Intersects(rect))
                    {
                        activation = true;

                        if (!traceEffect.Enabled)
                        {
                            ActivateEffect();
                        }
                        break;
                    }
                }
            }
            return activation;
        }
Пример #2
0
 public GameManager(EGameState state,IServiceProvider ServiceProvider)
 {
     cur_state = state;
     options = new Options();
     options.DisplayModeChanged += new DisplayModeChangedEventHandler(options_DisplayModeChanged);
     options.ResolutionChanged += new ResolutionChangedEventHandler(options_ResolutionChanged);
     game = new SGame(ServiceProvider);
     inputhandler = new Inputhandler(Vector2.Zero,options);
     menu = new SMenu(ServiceProvider);
     serviceprovider = ServiceProvider;
     content = new ContentManager(serviceprovider, "Data");
     music = new Music();
     credits = new SCredits(serviceprovider);
     pthreadManager = new ParticleThreadManager();
     gameTimes = new TimeSpan[numberOfTimes];
     for (int i = 0; i < numberOfTimes; i++)
     {
         gameTimes[i] = new TimeSpan(0, 0, 0, 0, 16);
     }
 }
Пример #3
0
 protected override bool CheckActvationEvent(GameTime gameTime, Rectangle playerBoundingBox, int timeLeft, Quadtree quadtree, SGame stateGame)
 {
     bool activation;
     if (Enabled == false)
     {
         if (playerBoundingBox.Intersects(exit))
         {
             activation = true;
             backcolor = new Color(0, 0, 0, 0);
         }
         else
         {
             activation = false;
         }
     }
     else
     {
         activation = Enabled;
     }
     return activation;
 }
Пример #4
0
 private void ChecEventActivation(GameTime gameTime, Rectangle playerBoundingBox, Quadtree quadtree, SGame stateGame)
 {
     foreach (GameEvent gamevent in events)
     {
         gamevent.CheckActivation(gameTime, playerBoundingBox, timeLeft,quadtree,stateGame);
     }
 }
Пример #5
0
        public List<EventAction> Update(GameTime gameTime, Rectangle playerBoundingBox, Quadtree quadtree, List<Enemy.Enemy> enemies, SGame stateGame)
        {
            List<EventAction> actions = new List<EventAction>();

            ChecEventActivation(gameTime, playerBoundingBox,quadtree,stateGame);
            UpdateEvents(gameTime, playerBoundingBox, ref actions, enemies);

            return actions;
        }
        public void Update(GameTime gameTime, SGame game)
        {
            if (game != null)
            {
                cameraPos = game.Camera.Position;
                foreach (InteractiveObject iObject in interactiveObjects)
                {
                    if ((iObject.Pos + cameraPos).Length() <= new Vector2(options.ScreenWidth / 2, options.ScreenHeight / 2).Length() || iObject.Enabled)
                    {
                        iObject.Update(gameTime, game.Player.Pos, game.Player.BoundingBox);
                        iObject.HandlePlayerCollision(game.Player.Collission);
                    }
                }
            }
            else
            {
                foreach (InteractiveObject iObject in interactiveObjects)
                {

                    iObject.Update(gameTime, Vector2.Zero, Rectangle.Empty);
                }
            }
        }
Пример #7
0
 public void CheckActivation(GameTime gameTime, Rectangle playerBoundingBox, int timeLeft, Quadtree quadtree, SGame stateGame)
 {
     enabled = CheckActvationEvent(gameTime, playerBoundingBox, timeLeft,quadtree,stateGame);
 }
Пример #8
0
 protected abstract bool CheckActvationEvent(GameTime gameTime, Rectangle playerBoundingBox, int timeLeft,Quadtree quadtree,SGame stateGame);
Пример #9
0
 public void LoadLevel(SGame game, IServiceProvider serviceProvider,GraphicsDevice device,string level_name, LevelType type,Options options)
 {
     options.InitObjectHolder.particleManagers[EGameState.Game].Stop();
     options.InitObjectHolder.particleManagers[EGameState.Game].Clear();
     loadingstrings.Clear();
     loadstring = "Loading... 0%";
     loaded = false;
     this.game = game;
     data.device = device;
     data.level_name = level_name;
     data.options = options;
     data.serviceProvider = serviceProvider;
     data.type = type;
     game.LevelLoaded += new LevelLoadedEventHandler(game_LevelLoaded);
     game.LevelLoadEnhanced += new LevelLoadEnhancedEventHandler(game_LevelLoadEnhanced);
     loadthread = new Thread(new ThreadStart(LoadLevelThread));
     loadthread.Start();
 }