public override void ProvessEvents() { if (SwinGame.KeyTyped(Settings.PAUSE)) { ScreenControler.SetScreen("PauseMenu"); } for (int i = 0; i < 7; ++i) { if (Tick % (_triggers[i]) == 0) { GameObjects.AddItem(new ItemEntity(new Point(_rand.Next() % (460 - GameResources.GameImage("Item" + _itemTypes[i].ToString()).Width) + 40, 50), _itemTypes[i])); } } for (int i = 0; i < 8; i++) { for (int j = 0; j < 13; j++) { if (Tick % (_rand.Next() % 50000 + 30) == 0 && Tick > 0) { Point position = new Point(_rand.Next() % 460 + 40, _rand.Next() % 460 + 40); for (int k = 0; k < 12; k++) { GameObjects.AddBullet(new BulletEntity(_bulletColours[i], _bulletTypes[j], null, position, _trajectories[k])); } } } } GameObjects.ProcessItemEvents(); GameObjects.ProcessBulletEvents(); GameObjects.Player.ProcessEvents(); NextTick(); }
public override void ProcessEvents() { ProcessMovement(); Level(); if (SwinGame.KeyDown(Settings.SHOOT)) { Cannon(); } foreach (BulletEntity bullet in GameObjects.Bullets) { if (bullet.Owner != this) { if (PolygonCollisions.Collides(_grazebox, bullet.Hitbox)) { if (PolygonCollisions.Collides(Hitbox, bullet.Hitbox)) { Hitpoints -= bullet.Hitpoints; bullet.Remove = true; break; } if (!bullet.Grazed) { GameScores.GRAZE++; bullet.Grazed = true; break; } } } } if (SwinGame.KeyDown(Settings.BOMB) && GameScores.BOMB > 0 && _cooldown == 0) { foreach (BulletEntity bullet in GameObjects.Bullets) { if (bullet.Owner != this) { GameObjects.AddItem(new ItemEntity(bullet.Hitbox.Middle, ItemType.Star)); bullet.Remove = true; } } foreach (ItemEntity item in GameObjects.Items) { item.Flag = true; } GameScores.BOMB--; _cooldown = 60; } if (Hitbox.Middle.Y < 160) { foreach (ItemEntity item in GameObjects.Items) { item.Flag = true; } } if (_cooldown > 0) { _cooldown--; } Tick++; }