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(); }
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); }