Exemplo n.º 1
0
        public Player(string fileName, Vector2 spritePosition, int playerIndex = 0) : base(spritePosition, fileName)
        {
            //sprite.scale = new Vector2(0.3f, 0.3f);

            playerNum     = playerIndex;
            joystickIndex = playerIndex;

            horizontalSpeed = 300;
            shootDelay      = 0.45f;
            //Nrg = MaxNrg;
            loadingBar           = new Bar(new Vector2(20, 20), "playerBar");
            loadingBar.BarOffset = new Vector2(4, 4);
            loadingBar.IsActive  = false;

            nrgBar           = new Bar(new Vector2(30 + 250 * playerNum, 50), "playerBar", MaxNrg);
            nrgBar.BarOffset = new Vector2(4, 4);
            nrgBar.SetCamera(CameraManager.GetCamera("GUI"));

            Nrg = 100;

            barOffset = new Vector2(-loadingBar.Width / 2, -150);

            maxLoadingVal = 100;
            loadIncrease  = 80;

            currentBulletType = BulletManager.BulletType.StdBullet;
            //currentBulletType2 = BulletManager.BulletType.PigBullet;

            joystickIndex = 0;

            stateMachine = new StateMachine(this);
            stateMachine.RegisterState((int)States.Play, new PlayState());
            stateMachine.RegisterState((int)States.Shoot, new ShootState());
            stateMachine.RegisterState((int)States.Wait, new WaitState());
            weaponsGUI = new List <WeaponsGUI>();

            weaponsGUI.Add(new WeaponsGUI(new Vector2(Position.X - 150, Game.window.Height - 50)));
            Weapons = weaponsGUI.Last();
        }
Exemplo n.º 2
0
        public override void Start()
        {
            base.Start();

            Vector2 screenCenter = new Vector2(Game.window.Width / 2, Game.window.Height / 2);

            GfxManager.Init();

            GfxManager.AddTexture("bg0", "Assets/cyberpunk-street3.png");
            GfxManager.AddTexture("bg1", "Assets/cyberpunk-street2.png");
            GfxManager.AddTexture("bg2", "Assets/cyberpunk-street1.png");

            GfxManager.AddTexture("greenTank", "Assets/tanks_tankGreen_body1.png");
            GfxManager.AddTexture("tracks", "Assets/tanks_tankTracks1.png");
            GfxManager.AddTexture("turret", "Assets/tanks_turret2.png");

            GfxManager.AddTexture("bullet", "Assets/tank_bullet1.png");
            GfxManager.AddTexture("crate", "Assets/crate.png");

            GfxManager.AddTexture("playerBar", "Assets/loadingBar_bar.png");
            GfxManager.AddTexture("barFrame", "Assets/loadingBar_frame.png");

            GfxManager.AddTexture("bulletIcon", "Assets/bullet_ico.png");
            GfxManager.AddTexture("rocketIcon", "Assets/missile_ico.png");
            GfxManager.AddTexture("weaponsGUIframe", "Assets/weapons_GUI_frame.png");
            GfxManager.AddTexture("weaponsGUIselection", "Assets/weapon_GUI_selection.png");


            UpdateManager.Init();
            DrawManager.Init();
            PhysicsManager.Init();
            BulletManager.Init();

            FontManager.Init();
            FontManager.AddFont("stdFont", "Assets/textSheet.png", 15, 32, 20, 20);
            FontManager.AddFont("comics", "Assets/comics.png", 10, 32, 61, 65);

            CameraManager.Init(screenCenter, screenCenter);
            CameraManager.AddCamera("bg0", 0.2f);
            CameraManager.AddCamera("bg1", 0.4f);
            CameraManager.AddCamera("bg2", 0.8f);
            CameraManager.AddCamera("GUI", 0);

            playersName = new List <TextObject>();

            MinY = Game.window.Height - 20;

            /*Tile crate4 = new Tile(new Vector2(200, 400));
             * Tile crate3 = new Tile(new Vector2(200, 300));
             * Tile crate2 = new Tile(new Vector2(200, 200));
             * Tile crate = new Tile(new Vector2(200, 100));
             *
             * Tile crate1000 = new Tile(new Vector2(900, 200));
             * Tile crate1001 = new Tile(new Vector2(830, 200));
             * Tile crate1002 = new Tile(new Vector2(760, 200));
             * Tile crate1003 = new Tile(new Vector2(690, 200));
             * Tile crate1004 = new Tile(new Vector2(620, 200));*/

            players = new List <Player>();

            timer = new TextObject(new Vector2(Game.window.Width / 2, 100), "", FontManager.GetFont("comics"), 0.7f);

            CreatePlayers(4);
            CurrentPlayer.Play();

            bg_far = new Background("bg0", new Vector2(-640, -60), 0);
            bg_far.SetCamera(CameraManager.GetCamera("bg0"));

            bg_medium = new Background("bg1", new Vector2(-640, 0), 0);
            bg_medium.SetCamera(CameraManager.GetCamera("bg1"));

            bg_near = new Background("bg2", new Vector2(-640, 0), 0);
            bg_near.SetCamera(CameraManager.GetCamera("bg2"));

            weaponsGUI = new WeaponsGUI(new Vector2(100, 500), "weaponsGUIframe", DrawManager.Layer.GUI);

            CameraManager.SetTarget(CurrentPlayer);
        }