private void updatePlayerControl(PolyInputController Controller, World CurrentLevel) { if (m_crossHair.isFiring) { m_isFiring = true; } else { m_isFiring = false; } if (Controller.DropWeapon) { dropSelectedWeapon(CurrentLevel.PickupItems); } if (Controller.DropFlag) { dropFlag(); } if (Controller.OnePressed) { m_selectedIndex = 0; } if (Controller.TwoPressed) { m_selectedIndex = 1; } }
private void WriteLocalInput(SpaceMarine LocalPlayer) { _controlTransfer = LocalPlayer.ActiveControl; _packetWriter.Write(_controlTransfer.DownPressed); _packetWriter.Write(_controlTransfer.DropFlag); _packetWriter.Write(_controlTransfer.DropWeapon); _packetWriter.Write(_controlTransfer.LeftPressed); _packetWriter.Write(_controlTransfer.OnePressed); _packetWriter.Write(_controlTransfer.RightPressed); _packetWriter.Write(_controlTransfer.SpacePressed); _packetWriter.Write(_controlTransfer.TwoPressed); _packetWriter.Write(_controlTransfer.UpPressed); _packetWriter.Write(_controlTransfer.UsePressed); }
private PolyInputController ReadRemoteInput() { _controlTransfer = new PolyInputController(); _controlTransfer.DownPressed = _packetReader.ReadBoolean(); _controlTransfer.DropFlag = _packetReader.ReadBoolean(); _controlTransfer.DropWeapon = _packetReader.ReadBoolean(); _controlTransfer.LeftPressed = _packetReader.ReadBoolean(); _controlTransfer.OnePressed = _packetReader.ReadBoolean(); _controlTransfer.RightPressed = _packetReader.ReadBoolean(); _controlTransfer.SpacePressed = _packetReader.ReadBoolean(); _controlTransfer.TwoPressed = _packetReader.ReadBoolean(); _controlTransfer.UpPressed = _packetReader.ReadBoolean(); _controlTransfer.UsePressed = _packetReader.ReadBoolean(); return(_controlTransfer); }
public override void Update(GameTime gt, PolyInputController controller, World CurrentLevel, CrossHair crossHair) { if (m_hitPoints <= 0) { playerState = ActorState.Dying; } if (m_team == 2) { m_txr = m_assetManager.SpriteLib["MarineSpriteSheet2"]; m_playerArm.Texture = m_assetManager.SpriteLib["MarineSpriteSheet2"]; } else { m_txr = m_assetManager.SpriteLib["MarineSpriteSheet"]; m_playerArm.Texture = m_assetManager.SpriteLib["MarineSpriteSheet"]; } base.Update(gt, controller, CurrentLevel, crossHair); }
private void doDyingUpdate(PolyInputController Controller) { dropAllItems(m_itemList); ticker = 0; deadTimer++; if (deadTimer > 150) { m_canSpawn = true; if (Controller.SpacePressed) { playerState = ActorState.Dead; } } else { m_canSpawn = false; } }
public virtual void Update(GameTime gt, PolyInputController Controller, World CurrentLevel, CrossHair Crosshair) { m_controller = Controller; m_Asteroids = CurrentLevel.Asteroids; m_crossHair = Crosshair; m_currentLevel = CurrentLevel; m_map = m_currentLevel.Map; updatePlayerState(CurrentLevel); managePrompt(); if (m_selectedWeapon != null) { m_selectedWeapon.Update(gt, CurrentLevel); } if (m_flagSlot != null) { m_flagSlot.Update(gt, CurrentLevel); m_flagSlot.CheckCapState(CurrentLevel.RedBase); m_flagSlot.CheckCapState(CurrentLevel.BlueBase); if (m_flagSlot.State == EntityState.Dead) { dropFlag(); } } base.updateMe(gt); m_itemList = CurrentLevel.PickupItems; m_playerArm.Position = m_pos; foreach (PickupItem item in m_inventory) { item.Position = m_pos; } if (m_selectedWeapon != null) { m_selectedWeapon.UpdatePos(this); if (m_selectedWeapon.Name.Contains("Pistol")) { m_playerArm.SourceRect = m_srcArmRect2; } else if (m_selectedWeapon.Name == "RocketLauncher") { m_playerArm.SourceRect = m_srcArmRect3; } else { m_playerArm.SourceRect = m_srcArmRect; } } if (m_flagSlot != null) { m_flagSlot.UpdatePos(this); } updatePlayerControl(Controller, CurrentLevel); for (int i = 0; i < m_inventory.Count; i++) { if (i == m_selectedIndex) { m_selectedWeapon = m_inventory[i]; } } if (isFiring) { fireWeapon(m_crossHair, CurrentLevel); } m_Rect.X = (int)m_pos.X; m_Rect.Y = (int)m_pos.Y; }
public GameController(Game1 Game, AssetManager assetManager, SessionController sessionManager, GraphicsDevice graphicsDevice) { m_graphicsDevice = graphicsDevice; gameWorld = new World(assetManager); m_crossHair = new CrossHair(assetManager.SpriteLib["Crosshair"]); m_camera = new Camera2D(graphicsDevice.Viewport, Vector2.Zero); m_controller = new PolyInputController(); m_matchController = new MatchController(); m_sessionManager = sessionManager; try { if (sessionManager.RecievedMapName != "") { m_matchController = sessionManager.RecievedMatch; gameWorld.LoadMap(sessionManager.RecievedMapName, m_matchController); } else { setMatch(Game.SelectedMatch); gameWorld.LoadMap(Game.SelectedMap, m_matchController); } } catch (Exception ex) { Game1.currentGameState = GameState.Menu; gameWorld = null; if (sessionManager.isHost) { sessionManager.NetSession.EndGame(); } Game.Exception = ex; return; } m_spawnManager = new SpawnController(); m_spawnManager.SpawnList = gameWorld.SpawnPoints; m_spawnManager.WeaponSpawnList = gameWorld.WeaponSpawns; m_spawnManager.SpawnAllWeapons(gameWorld.PickupItems); foreach (NetworkGamer gamer in sessionManager.NetSession.LocalGamers) { if (gamer.IsLocal) { localPlayer = (SpaceMarine)gamer.Tag; } } m_matchController.NoTeam.AddTeamMember(localPlayer); if (sessionManager.RecievedItemList != null) { gameWorld.PickupItems = sessionManager.RecievedItemList; foreach (PickupItem item in gameWorld.PickupItems) { if (item.GetType().BaseType == typeof(Weapon)) { ((Weapon)item).SpawnPont = getSpawn(item); } else if (item.GetType() == typeof(Flag)) { if (((Flag)item).Team == 1) { ((Flag)item).Base = gameWorld.BlueBase; } if (((Flag)item).Team == 2) { ((Flag)item).Base = gameWorld.RedBase; } } } } if (gameWorld.CurrentMatch == MatchType.CTF) { if (sessionManager.isHost) { gameWorld.BlueBase.SpawnFlag(gameWorld.PickupItems); gameWorld.RedBase.SpawnFlag(gameWorld.PickupItems); } } sessionManager.GameManager = this; }