internal static bool Collides(Player player, Block block, bool useVelocity = false) { if(useVelocity) { } else { } return false; }
internal static bool Collides(Player player, Player otherPlayer, bool useVelocityPlayerOne = false, bool useVelocityPlayerTwo = false) { var p1 = new Rectangle((int) (player.Position.X - GameVariables.PlayerCollisionRadius + (useVelocityPlayerOne ? player.Velocity.X : 0)), (int)(player.Position.Y - GameVariables.PlayerCollisionRadius + (useVelocityPlayerOne ? player.Velocity.Y : 0)), (int) (GameVariables.PlayerCollisionRadius*2), (int) (GameVariables.PlayerCollisionRadius*2)); var p2 = new Rectangle((int)(otherPlayer.Position.X - GameVariables.PlayerCollisionRadius + (useVelocityPlayerTwo ? otherPlayer.Velocity.X : 0)), (int)(otherPlayer.Position.Y - GameVariables.PlayerCollisionRadius + (useVelocityPlayerTwo ? otherPlayer.Velocity.Y : 0)), (int) (GameVariables.PlayerCollisionRadius*2), (int) (GameVariables.PlayerCollisionRadius*2)); return p1.Intersects(p2); }
public void IncrementCollectorCount(Player p) { _collectorCount++; _collectors.Add(p); }
public void DecrementCollectorCount(Player p) { _collectorCount = Math.Max(_collectorCount - 1, 0); _collectors.Remove(p); }
internal static bool IsPlayerWithinRadius(Player e, Vector2 center, float radius) { return CirclesCollide(e.Position, GameVariables.PlayerCollisionRadius, center, radius); }
internal static bool Collides(Player player, Prop prop) { return CirclesCollide(player.Position, GameVariables.PlayerCollisionRadius, prop.Position, GameVariables.EnemyCollisionRadius); }
private void DrawPlayerInformation(Vector2 center, Player player, float alpha) { _spriteBatch.Begin(); var str = "player" + player.PlayerSpriteIndex + "_portrait"; _spriteBatch.Draw(TextureManager.GetTexture("player_portrait"), center, null, Color.White * alpha, 0.0f, TextureManager.GetOrigin("player_portrait"), GameVariables.UIScale, SpriteEffects.None, 0); _spriteBatch.Draw(TextureManager.GetTexture(str), center, null, Color.White * alpha, 0.0f, TextureManager.GetOrigin(str), GameVariables.UIScale, SpriteEffects.None, 0); for (int i = 0; i < player.CrystalCount; i++) { _spriteBatch.Draw(TextureManager.GetTexture("crystal"), center + new Vector2(32 + 16 * i, 0), null, Color.White * alpha, 0.0f, TextureManager.GetOrigin("crystal"), GameVariables.UIScale*2, SpriteEffects.None, 0); } _spriteBatch.End(); }