public SamusBallState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusBallSprite(samus.Id, samus.FacingRight); Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X + 2, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(Sprite.WorldRect.X, Sprite.WorldRect.Y, 11, 12); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { Samus samus = (Samus)gameObject; samus.TakeDamage(collidedWith); Game1.GetLevel().Destroy(collidedWith); }
public BulletState(Bullet bullet, IPlayer samus) { _bullet = bullet; Sprite = PlayerSpriteFactory.Instance.CreateBullet(samus.FacingRight); _speed = 5; _directionIsSet = false; _samus = (Samus)samus; }
public SamusJumpingLookUpShootState(Samus samus) { this.samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusJumpingLookUp(samus.facingRight); Sprite.x = (int)samus.Position.X; Sprite.y = (int)samus.Position.Y; samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 5, Sprite.WorldRect.Y + 6, 9, 26); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { MissileRefill missleRefill = (MissileRefill)gameObject; missleRefill.Obtain(); Samus samus = (Samus)collidedWith; samus.RefillMissiles(); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { EnergyRefill energyRefill = (EnergyRefill)gameObject; energyRefill.Obtain(); Samus samus = (Samus)collidedWith; samus.RefillEnergy(); }
public ExplosionState(BombExplosion bomb, IPlayer playerCharacter) { _bomb = bomb; _samus = (Samus)playerCharacter; Sprite = PlayerSpriteFactory.Instance.CreateExplosion(); Sprite.X = (int)bomb.Position.X; Sprite.Y = (int)bomb.Position.Y; Sprite.Visible = true; SoundManager.Instance.PlaySong("bomb_explode"); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { Samus samus = (Samus)gameObject; samus.BonkBlock(); while (gameObject.BoundingBox.Intersects(collidedWith.BoundingBox)) { samus.Position = new Vector2(samus.Position.X, samus.Position.Y + 1); } }
public SamusBallTransformState(Samus samus) { _samus = samus; _framesDone = 0; _totalFrames = 4; Sprite = PlayerSpriteFactory.Instance.CreateSamusTransformSprite(samus.Id, samus.FacingRight); Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; SoundManager.Instance.PlaySong("samus_morphball"); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { Samus samus = (Samus)gameObject; samus.Velocity = new Vector2(samus.Velocity.X, 0); while (gameObject.BoundingBox.Intersects(collidedWith.BoundingBox)) { samus.Position = new Vector2(samus.Position.X, samus.Position.Y - 1); } samus.BecomeGrounded(); }
public SamusWalkShootState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusWalkShoot(samus.Id, samus.FacingRight); if (samus.FacingRight) { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X - 6, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); } samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 8, Sprite.WorldRect.Y + 1, 11, 31); Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public SamusStandState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusStandSprite(samus.Id, samus.FacingRight); if (samus.FacingRight) { samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 4, Sprite.WorldRect.Y, 9, 32); } else { samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 7, Sprite.WorldRect.Y, 9, 32); } Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public SamusJumpingLookUpState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusJumpingLookUp(samus.Id, samus.FacingRight); if (samus.FacingRight) { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X - 5, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); } else { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X + 4, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); } samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 5, Sprite.WorldRect.Y + 6, 9, 26); Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public SamusWalkLookUpState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusWalkLookUp(samus.Id, samus.FacingRight); if (samus.FacingRight) { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X - 6, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(7, 7, 9, 31); } else { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X + 5, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(4, 7, 9, 31); } Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public SamusJumpingShootState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusJumpingShoot(samus.Id, samus.FacingRight); if (samus.FacingRight) { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X - 5, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 7, Sprite.WorldRect.Y, 11, 25); } else { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X + 4, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 3, Sprite.WorldRect.Y, 11, 25); } Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public SamusStandLookUpState(Samus samus) { _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusStandLookUpSprite(samus.Id, samus.FacingRight); if (samus.FacingRight) { samus.Position = new Vector2(samus.Position.X, samus.Position.Y - 6); samus.BoundingBox = new Rectangle(5, 7, 9, 31); } else { samus.Position = new Vector2(samus.Position.X, samus.Position.Y - 6); samus.BoundingBox = new Rectangle(6, 7, 9, 31); } Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public void LoadContent(LevelLoader levelLoader) { levelLoader.LoadLevel(@"Content/Sprint6TestLevel.csv", GameObjects); _camera = new VerticalScrollingCamera(Game1.graphics.GraphicsDevice.Viewport) { Zoom = 2f }; Player1Character = new Samus(new Vector2(112, 64), 0); Player2Character = new Samus(new Vector2(128, 64), 1); Players = new[] { Player1Character, Player2Character }; _camera.Focus = Player1Character; _camera.CameraPosition = new Vector2(_camera.Focus.Position.X - _camera.Viewport.Width / _camera.Zoom / 2, _camera.CameraPosition.Y); GameObjects.Add(Player1Character); GameObjects.Add(Player2Character); _defaultFont = FontManager.Instance.CreateNewDefaultFont(); }
public MissileState(Missile missile, IPlayer samus) { _missile = missile; if (missile.IsUp) { Sprite = PlayerSpriteFactory.Instance.CreateVerticalMissile(samus.FacingRight); } else { Sprite = PlayerSpriteFactory.Instance.CreateHorizontalMissile(samus.FacingRight); } Sprite.X = (int)missile.Position.X; Sprite.Y = (int)missile.Position.Y; _speed = 5; Sprite.Visible = true; _directionIsSet = false; _samus = (Samus)samus; }
public virtual void DoItemDrops() { ILevel level = Game1.GetLevel(); Samus player = level.Players[0] as Samus; Random ran = new Random(); if (ran.Next(100) < 30) { if (player.HasMissileUpgrade && ran.Next(100) > 50) { level.Spawn(new MissileRefill(Position), Position); } else { level.Spawn(new EnergyRefill(Position), Position); } } }
public SamusWalkJumpingState(Samus samus) { SoundManager.Instance.PlaySong("jump"); _samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusWalkJumpingSprite(samus.Id, samus.FacingRight); if (samus.FacingRight) { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X - 6, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 7, Sprite.WorldRect.Y, 9, 28); } else { Sprite.WorldRect = new Rectangle(Sprite.WorldRect.X + 5, Sprite.WorldRect.Y, Sprite.WorldRect.Width, Sprite.WorldRect.Height); samus.BoundingBox = new Rectangle(Sprite.WorldRect.X + 5, Sprite.WorldRect.Y, 9, 28); } Sprite.X = (int)samus.Position.X; Sprite.Y = (int)samus.Position.Y; }
public void LoadContent(LevelLoader levelLoader) { levelLoader.LoadLevel(@"Content/Brinstar.csv", GameObjects); _camera = new HorizontalScrollingCamera(Game1.graphics.GraphicsDevice.Viewport) { Zoom = 2f }; Player1Character = new Samus(new Vector2(640, 159), 0) { ColorScheme = PlayerSpriteFactory.Instance.DefaultSchemes[0] }; PlayerSpriteFactory.Instance.SetPlayerToCustomTextures(0, PlayerSpriteFactory.Instance.DefaultSchemes[0]); Players = new[] { Player1Character }; _camera.Focus = Player1Character; _camera.CameraPosition = new Vector2(_camera.Focus.Position.X - _camera.Viewport.Width / _camera.Zoom / 2, _camera.CameraPosition.Y); GameObjects.Add(Player1Character); _defaultFont = FontManager.Instance.CreateNewDefaultFont(); }
public void AddPlayer() { IPlayer newPlayer = new Samus(new Vector2(50 * (NumPlayers + 1) - 37, 40), NumPlayers); ((Samus)newPlayer).ColorScheme = PlayerSpriteFactory.Instance.DefaultSchemes[NumPlayers]; ((Samus)newPlayer).State = new SamusStandState((Samus)newPlayer); Players[NumPlayers] = newPlayer; PlayerSpriteFactory.Instance.SetPlayerToCustomTextures(NumPlayers, PlayerSpriteFactory.Instance.DefaultSchemes[NumPlayers]); IController controller = Game1.Controllers.First(e => e.Id == NumPlayers); if (controller is ControllerKeyboard) { _gamePadStrings[NumPlayers] = "KEYBOARD"; } else { _gamePadStrings[NumPlayers] = "GAMEPAD" + (((ControllerGamepad)controller).GetControllerNum() + 1); } AddMenuOptions(((Samus)newPlayer).ColorScheme.IsZeroSuit); NumPlayers++; }
public void LoadContent(LevelLoader levelLoader) { levelLoader.LoadLevel(@"Content/Brinstar.csv", GameObjects); _camera = new HorizontalScrollingCamera(Game1.graphics.GraphicsDevice.Viewport) { Zoom = 2f }; Players = new IPlayer[_numPlayers]; for (int i = 0; i < _numPlayers; i++) { IPlayer newSamus = new Samus(new Vector2(620 + (i * 20), 159), i); ((Samus)newSamus).ColorScheme = playerColorSchemes[i]; Players[i] = newSamus; PlayerSpriteFactory.Instance.SetPlayerToCustomTextures(i, ((Samus)Players[i]).ColorScheme); GameObjects.Add(newSamus); } _camera.Focus = Players[0]; _camera.CameraPosition = new Vector2(_camera.Focus.Position.X - _camera.Viewport.Width / _camera.Zoom / 2, _camera.CameraPosition.Y); _defaultFont = FontManager.Instance.CreateNewDefaultFont(); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { if (CollisionHandler.Instance.BlockedLeft(collidedWith.BoundingBox, 1, "Environment")) { if (CollisionHandler.Instance.BlockedAbove(collidedWith.BoundingBox, 1, "Player")) { new CommandPlayerTileFromTopCollision().Execute(gameObject, collidedWith); } else { new CommandPlayerTileFromBottomCollision().Execute(gameObject, collidedWith); } return; } Samus samus = (Samus)gameObject; samus.State.RightRelease(); while (gameObject.BoundingBox.Intersects(collidedWith.BoundingBox)) { samus.Position = new Vector2(samus.Position.X - 1, samus.Position.Y); } }
public override void BeginExecute(int controllerId) { Samus samus = (Samus)Game1.GetLevel().Players[controllerId]; samus.SetMissile(!samus.MissilesOn); }
void Awake() { S = this; Physics.gravity = new Vector3(0f, -17f, 0f); }
public override void BeginExecute(int controllerId) { Samus samus = (Samus)Game1.GetLevel().Players[controllerId]; samus.SetVaria(!samus.Varia); }
public void Execute(IGameObject gameObject, IGameObject collidedWith) { Samus samus = (Samus)gameObject; samus.TakeDamage(collidedWith); }
public SamusIntroState(Samus samus) { this.samus = samus; Sprite = PlayerSpriteFactory.Instance.CreateSamusIntro(samus.Id); }
public void MenuRight(int playerId) { if (playerId == -1 || _pointerPositions[playerId] == _menuStrings[playerId].Length - 1) { return; } Samus player = (Samus)Players[playerId]; PlayerSpriteFactory.PlayerColorScheme newScheme = new PlayerSpriteFactory.PlayerColorScheme() { AccentMissileColor = player.ColorScheme.AccentMissileColor, HelmetColor = player.ColorScheme.HelmetColor, AccentBaseColor = player.ColorScheme.AccentBaseColor, IsZeroSuit = player.ColorScheme.IsZeroSuit, SuitBaseColor = player.ColorScheme.SuitBaseColor, SuitVariaColor = player.ColorScheme.SuitVariaColor, SuitVariaMissileColor = player.ColorScheme.SuitVariaMissileColor }; int selectedColor = ++_colorSelections[playerId][_pointerPositions[playerId]]; switch (_pointerPositions[playerId]) { case 0: newScheme.IsZeroSuit = !player.ColorScheme.IsZeroSuit; if (newScheme.IsZeroSuit) { _menuStrings[playerId] = new[] { "< Zero Suit >", "< Hair >", "< Suit >", "READY" }; } else { _menuStrings[playerId] = new[] { "< Zero Suit >", "< Helmet >", "< Suit >", "< Accent >", "READY" }; } break; case 1: if (!player.ColorScheme.IsZeroSuit) { if (selectedColor >= _helmetColors.Count) { selectedColor = 0; } newScheme.HelmetColor = _helmetColors[selectedColor]; } else { if (selectedColor >= _hairColors.Count) { selectedColor = 0; } newScheme.HelmetColor = _hairColors[selectedColor]; } break; case 2: if (!player.ColorScheme.IsZeroSuit) { if (selectedColor >= _zSuitColors.Count) { selectedColor = 0; } newScheme.SuitBaseColor = _zSuitColors[selectedColor]; } else { if (selectedColor >= _suitColors.Count) { selectedColor = 0; } newScheme.SuitBaseColor = _suitColors[selectedColor]; } break; case 3: if (_menuStrings[playerId].Length == 4) { break; } if (!player.ColorScheme.IsZeroSuit) { if (selectedColor >= _zSuitAccentColors.Count) { selectedColor = 0; } newScheme.AccentBaseColor = _zSuitAccentColors[selectedColor]; } else { if (selectedColor >= _suitAccentColors.Count) { selectedColor = 0; } newScheme.AccentBaseColor = _suitAccentColors[selectedColor]; } break; } _colorSelections[playerId][_pointerPositions[playerId]] = selectedColor; player.ColorScheme = newScheme; PlayerSpriteFactory.Instance.SetPlayerToCustomTextures(playerId, newScheme); }
// Start is called before the first frame update void Start() { samus = FindObjectOfType <Samus>(); bc2D = GetComponent <BoxCollider2D>(); }