com.badlogic.gdx.ai.utils.Location Java Examples
The following examples show how to use
com.badlogic.gdx.ai.utils.Location.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DefensiveCircleFormationPattern.java From gdx-ai with Apache License 2.0 | 6 votes |
@Override public Location<T> calculateSlotLocation (Location<T> outLocation, int slotNumber) { if (numberOfSlots > 1) { // Place the slot around the circle based on its slot number float angleAroundCircle = (MathUtils.PI2 * slotNumber) / numberOfSlots; // The radius depends on the radius of the member, // and the number of members in the circle: // we want there to be no gap between member's shoulders. float radius = memberRadius / (float)Math.sin(Math.PI / numberOfSlots); // Fill location components based on the angle around circle. outLocation.angleToVector(outLocation.getPosition(), angleAroundCircle).scl(radius); // The members should be facing out outLocation.setOrientation(angleAroundCircle); } else { outLocation.getPosition().setZero(); outLocation.setOrientation(MathUtils.PI2 * slotNumber); } // Return the slot location return outLocation; }
Example #2
Source File: Formation.java From gdx-ai with Apache License 2.0 | 5 votes |
/** Creates a {@code Formation} for the specified {@code pattern}, {@code slotAssignmentStrategy} and {@code moderator}. * @param anchor the anchor point of this formation, usually a {@link Steerable}. Cannot be {@code null}. * @param pattern the pattern of this formation * @param slotAssignmentStrategy the strategy used to assign a member to his slot * @param motionModerator the motion moderator. Can be {@code null} if moderation is not needed * @throws IllegalArgumentException if the anchor point is {@code null} */ public Formation (Location<T> anchor, FormationPattern<T> pattern, SlotAssignmentStrategy<T> slotAssignmentStrategy, FormationMotionModerator<T> motionModerator) { if (anchor == null) throw new IllegalArgumentException("The anchor point cannot be null"); this.anchor = anchor; this.pattern = pattern; this.slotAssignmentStrategy = slotAssignmentStrategy; this.motionModerator = motionModerator; this.slotAssignments = new Array<SlotAssignment<T>>(); this.driftOffset = anchor.newLocation(); this.positionOffset = anchor.getPosition().cpy(); }
Example #3
Source File: Hide.java From gdx-ai with Apache License 2.0 | 5 votes |
/** Creates a {@code Hide} behavior for the specified owner, target and proximity. * @param owner the owner of this behavior * @param target the target of this behavior * @param proximity the proximity to find nearby obstacles */ public Hide (Steerable<T> owner, Location<T> target, Proximity<T> proximity) { super(owner, target); this.proximity = proximity; this.bestHidingSpot = newVector(owner); this.toObstacle = null; // Set to null since we'll reuse steering.linear for this vector }
Example #4
Source File: FormationMotionModerator.java From gdx-ai with Apache License 2.0 | 5 votes |
/** Calculates the drift offset when members are in the given set of slots for the specified pattern. * @param centerOfMass the output location set to the calculated drift offset * @param slotAssignments the set of slots * @param pattern the pattern * @return the given location for chaining. */ public Location<T> calculateDriftOffset (Location<T> centerOfMass, Array<SlotAssignment<T>> slotAssignments, FormationPattern<T> pattern) { // Clear the center of mass centerOfMass.getPosition().setZero(); float centerOfMassOrientation = 0; // Make sure tempLocation is instantiated if (tempLocation == null) tempLocation = centerOfMass.newLocation(); T centerOfMassPos = centerOfMass.getPosition(); T tempLocationPos = tempLocation.getPosition(); // Go through each assignment and add its contribution to the center float numberOfAssignments = slotAssignments.size; for (int i = 0; i < numberOfAssignments; i++) { pattern.calculateSlotLocation(tempLocation, slotAssignments.get(i).slotNumber); centerOfMassPos.add(tempLocationPos); centerOfMassOrientation += tempLocation.getOrientation(); } // Divide through to get the drift offset. centerOfMassPos.scl(1f / numberOfAssignments); centerOfMassOrientation /= numberOfAssignments; centerOfMass.setOrientation(centerOfMassOrientation); return centerOfMass; }
Example #5
Source File: Face.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Creates a {@code Face} behavior for the specified owner and target. * @param owner the owner of this behavior * @param target the target of this behavior. */ public Face (Steerable<T> owner, Location<T> target) { super(owner, target); }
Example #6
Source File: Flee.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Creates a {@code Flee} behavior for the specified owner and target. * @param owner the owner of this behavior * @param target the target agent of this behavior. */ public Flee (Steerable<T> owner, Location<T> target) { super(owner, target); }
Example #7
Source File: Flee.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public Flee<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #8
Source File: Seek.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Creates a {@code Seek} behavior for the specified owner and target. * @param owner the owner of this behavior * @param target the target agent of this behavior. */ public Seek (Steerable<T> owner, Location<T> target) { super(owner); this.target = target; }
Example #9
Source File: Seek.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Returns the target to seek. */ public Location<T> getTarget () { return target; }
Example #10
Source File: Seek.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Sets the target to seek. * @return this behavior for chaining. */ public Seek<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #11
Source File: Arrive.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Creates an {@code Arrive} behavior for the specified owner and target. * @param owner the owner of this behavior * @param target the target of this behavior */ public Arrive (Steerable<T> owner, Location<T> target) { super(owner); this.target = target; }
Example #12
Source File: Arrive.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Returns the target to arrive to. */ public Location<T> getTarget () { return target; }
Example #13
Source File: Arrive.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Sets the target to arrive to. * @return this behavior for chaining. */ public Arrive<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #14
Source File: FormationMember.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Returns the target location of this formation member. */ public Location<T> getTargetLocation ();
Example #15
Source File: Face.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public Face<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #16
Source File: FollowPath.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public FollowPath<T, P> setTarget (Location<T> target) { this.target = target; return this; }
Example #17
Source File: LookWhereYouAreGoing.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Sets the target to align to. Notice that this method is inherited from {@link ReachOrientation}, but is completely useless * for {@code LookWhereYouAreGoing} because the target orientation is determined by the velocity of the owner itself. * @return this behavior for chaining. */ @Override public LookWhereYouAreGoing<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #18
Source File: Hide.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Creates a {@code Hide} behavior for the specified owner and target. * @param owner the owner of this behavior * @param target the target of this behavior */ public Hide (Steerable<T> owner, Location<T> target) { this(owner, target, null); }
Example #19
Source File: Hide.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public Hide<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #20
Source File: ReachOrientation.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Creates a {@code ReachOrientation} behavior for the specified owner and target. * @param owner the owner of this behavior * @param target the target. */ public ReachOrientation (Steerable<T> owner, Location<T> target) { super(owner); this.target = target; }
Example #21
Source File: ReachOrientation.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Returns the target to align to. */ public Location<T> getTarget () { return target; }
Example #22
Source File: ReachOrientation.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Sets the target to align to. * @return this behavior for chaining. */ public ReachOrientation<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #23
Source File: Wander.java From gdx-ai with Apache License 2.0 | 4 votes |
/** Sets the target to align to. Notice that this method is inherited from {@link ReachOrientation}, but is completely useless * for {@code Wander} because owner's orientation is determined by the internal target, which is moving on the wander circle. * @return this behavior for chaining. */ @Override public Wander<T> setTarget (Location<T> target) { this.target = target; return this; }
Example #24
Source File: SteerableAdapter.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public Location<T> newLocation () { return null; }
Example #25
Source File: SteeringBulletEntity.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public Location<Vector3> newLocation () { return new BulletLocation(); }
Example #26
Source File: GhostAI.java From Pacman_libGdx with MIT License | 4 votes |
@Override public Location<Vector2> newLocation() { return new Box2dLocation(); }
Example #27
Source File: Box2dLocation.java From Pacman_libGdx with MIT License | 4 votes |
@Override public Location<Vector2> newLocation() { return new Box2dLocation(); }
Example #28
Source File: SteerableBody.java From GdxDemo3D with Apache License 2.0 | 4 votes |
@Override public Location<Vector3> newLocation() { return new BulletLocation(); }
Example #29
Source File: BulletLocation.java From GdxDemo3D with Apache License 2.0 | 4 votes |
@Override public Location<Vector3> newLocation() { return new BulletLocation(); }
Example #30
Source File: Box2dLocation.java From gdx-ai with Apache License 2.0 | 4 votes |
@Override public Location<Vector2> newLocation () { return new Box2dLocation(); }