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; }
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); } }
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; }
private void ChecEventActivation(GameTime gameTime, Rectangle playerBoundingBox, Quadtree quadtree, SGame stateGame) { foreach (GameEvent gamevent in events) { gamevent.CheckActivation(gameTime, playerBoundingBox, timeLeft,quadtree,stateGame); } }
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); } } }
public void CheckActivation(GameTime gameTime, Rectangle playerBoundingBox, int timeLeft, Quadtree quadtree, SGame stateGame) { enabled = CheckActvationEvent(gameTime, playerBoundingBox, timeLeft,quadtree,stateGame); }
protected abstract bool CheckActvationEvent(GameTime gameTime, Rectangle playerBoundingBox, int timeLeft,Quadtree quadtree,SGame stateGame);
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(); }