public float GetActorWidth(Vector2 location, PlayerClone playerToCheck) { foreach (StaticObject staticObject in staticObjects) { if (staticObject.Intersects(location)) { return(staticObject.CollisionRectangle.Width); } } foreach (Player player in players) { if (player.Intersects(location)) { return(player.CollisionRectangle.Width + 1); } } foreach (PlayerClone clone in playerClones) { if (clone != playerToCheck) { if (clone.Intersects(location)) { return(clone.CollisionRectangle.Width + 1); } } } return(0.0f); }
public Vector2 GetActorLocation(Vector2 location, PlayerClone cloneToCheck) { foreach (StaticObject staticObject in staticObjects) { if (staticObject.Intersects(location)) { return(new Vector2(staticObject.CollisionRectangle.X, staticObject.CollisionRectangle.Y)); } } foreach (Player player in players) { { if (player.Intersects(location)) { return(player.location); } } } foreach (PlayerClone clone in playerClones) { if (clone != cloneToCheck) { if (clone.Intersects(location)) { return(clone.location); } } } return(Vector2.Zero); }
public bool HasActorAtLocation(Vector2 location, PlayerClone cloneToCheck) { foreach (StaticObject staticObject in staticObjects) { if (staticObject.Intersects(location)) { return(true); } } foreach (Player player in players) { if (player.Intersects(location)) { return(true); } } foreach (PlayerClone clone in playerClones) { if (clone != cloneToCheck) { if (clone.Intersects(location)) { return(true); } } } return(false); }
public void RemovePlayerClone(PlayerClone clone) { for (int i = 0; i < playerClones.Count; i++) { if (playerClones[i] == clone) { playerClones.RemoveAt(i); return; } } }
public void AddPlayer(Player player) { if (!playersAndClones.ContainsKey(player)) { PlayerClone clone = new PlayerClone(this.actorManager, this.particleManager, this.tileMap, this.camera, player.location, content, player.frameWidth, player.frameHeight, player.collideWidth, player.collideHeight); clone.playerToRecord = player; clone.InteractionRectangle = this.CollisionRectangle; playersAndClones.Add(player, clone); actorManager.AddPlayerClone(clone); } }
public void AddPlayerClone(PlayerClone playerClone) { playerClones.Add(playerClone); }