public EnemyManager(renderable player, cHealth playerHealth, int enemyCount, NullEngine.StateMachine.iState parentState) { if (man == null) { man = this; } else { throw new SingletonException(this); } updaters = new List <Action>(); activeEnemies = new List <int>(); playerCharacter = player; level = 0; //initialize eneimes enemies = new quad[enemyCount]; for (int j = 0; j < enemies.Length; j++) { enemies[j] = new quad("Game/Content/roguelikeCharBeard_transparent.png", parentState); cCollider badguyCollider = new cCollider(enemies[j]); enemies[j].AddComponent(new cDamagePlayer(playerCharacter, playerHealth, 1, badguyCollider)); enemies[j].AddComponent(badguyCollider); enemies[j].AddComponent(new cEnemyAI(3, badguyCollider, playerCharacter, 300)); enemies[j].active = false; updaters.Add(enemies[j].update); } }
public cDamagePlayer(renderable player, cHealth playerHealth, int damageAmount, cCollider col) { pc = player; pcHealth = playerHealth; damage = damageAmount; collider = col; }
public GameState() { //get a reference to pause state pState = GameStateManager.man.pState; mState = GameStateManager.man.mState; //initialize list of entity updaters and the collision manager singleton updaters = new List <Action>(); col = new Managers.CollisionManager(100); int seed = 5; //Game.rng.Next(); wMan = new Managers.WorldManager(seed, 10, 100, 10d, 64, col, new Point(0, 0)); Game.worldMaxX = wMan.worldMaxX; Game.worldMaxY = wMan.worldMaxY; LastWorldPos = new Point(Game.worldCenterX, Game.worldCenterY); //initialize background entity background = new quad(Managers.WorldManager.worldTex); background.AddComponent(new cBackgroundManger()); updaters.Add(background.update); //initialize player character entity playerCharacter = new quad("Content/roguelikeCharBeard_transparent.png"); playerCharacter.AddComponent(new cFollowCamera(playerCharacter)); cCollider playerCollider = new cCollider(playerCharacter); cMouseFire playerBulletMan = new cMouseFire(playerCharacter); playerHealth = new cHealth(10, playerCharacter, this, 30); playerCharacter.AddComponent(playerHealth); playerCharacter.AddComponent(playerCollider); playerCharacter.AddComponent(new cKeyboardMoveandCollide(5, 1.5f, playerCollider)); playerCharacter.AddComponent(playerBulletMan); playerCharacter.pos.xPos = Game.window.Width / 2 + 10; playerCharacter.pos.yPos = Game.window.Height / 2 + 10; playerCharacter.AddComponent(new cDEBUG_POS()); playerCharacter.AddComponent(new cRangedWeapon(playerCharacter, playerBulletMan, 10)); playerCharacter.tag = "Player"; updaters.Add(playerCharacter.update); //initialize enemy manager eMan = new Managers.EnemyManager(playerCharacter, playerHealth, 1000); updaters.Add(eMan.update); //initialize UI entities gameover = new Button("Game Over. Click to go to Main Menu", Game.buttonBackground, toMenuState, OpenTK.Input.MouseButton.Left, this); gameover.SetActive(false); updaters.Add(gameover.update); uiHealth = new Button("Health: 00", Game.buttonBackground, "", OpenTK.Input.MouseButton.Left, this); uiHealth.t.AddComponent(new cUIHealth(uiHealth.t, playerHealth)); updaters.Add(uiHealth.update); uiLevel = new Button("Level 00", Game.buttonBackground, "", OpenTK.Input.MouseButton.Left, this); uiLevel.t.AddComponent(new cUILevel(uiLevel.t)); updaters.Add(uiLevel.update); uiPos = new Button("[0,0] {00,00}", Game.buttonBackground, "", OpenTK.Input.MouseButton.Left, this); uiPos.t.AddComponent(new cUIPosition(uiPos.t)); updaters.Add(uiPos.update); }
public cEnemyAI(int moveSpeed, cCollider c, renderable target, int dist) { speed = moveSpeed; viewDistance = dist; collider = c; this.target = target; targetPos = pickNewTargetLoc(); }
public TestState() { updaters = new List <Action>(); colliders = new List <quad>(); increaseCount = new Button("+", Game.buttonBackground, increaseColCount, OpenTK.Input.MouseButton.Left, this); increaseCount.SetPos(10, 10); numberOfColliders = new Button(colliderCount.ToString() + " ", Game.buttonBackground, "", OpenTK.Input.MouseButton.Left, this); numberOfColliders.SetPos(60, 10); decreaseCount = new Button("-", Game.buttonBackground, decreaseColCount, OpenTK.Input.MouseButton.Left, this); decreaseCount.SetPos(240, 10); TopWall = new cCollider(new Rectangle(Game.windowRect.Left, Game.windowRect.Top - 10, 1920, 10), this); BottomWall = new cCollider(new Rectangle(Game.windowRect.Left, Game.windowRect.Bottom, 1920, 10), this); LeftWall = new cCollider(new Rectangle(Game.windowRect.Left - 10, Game.windowRect.Top, 10, 1920), this); RightWall = new cCollider(new Rectangle(Game.windowRect.Right, Game.windowRect.Top, 10, 1920), this); }
public cKeyboardMoveandCollide(int speed, float sprintMultiplyer, cCollider c) : base(speed) { this.sprintMultiplyer = sprintMultiplyer; collider = c; wMan = Managers.WorldManager.man; }