示例#1
0
        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);
            }
        }
示例#2
0
 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);
        }
示例#4
0
 public cEnemyAI(int moveSpeed, cCollider c, renderable target, int dist)
 {
     speed        = moveSpeed;
     viewDistance = dist;
     collider     = c;
     this.target  = target;
     targetPos    = pickNewTargetLoc();
 }
示例#5
0
        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);
        }
示例#6
0
 public cKeyboardMoveandCollide(int speed, float sprintMultiplyer, cCollider c) : base(speed)
 {
     this.sprintMultiplyer = sprintMultiplyer;
     collider = c;
     wMan     = Managers.WorldManager.man;
 }