Enum CollisionPositions

java.lang.Object
java.lang.Enum<CollisionPositions>
fr.r1r0r0.deltaengine.model.elements.CollisionPositions
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<CollisionPositions>, java.lang.constant.Constable

public enum CollisionPositions
extends java.lang.Enum<CollisionPositions>
A set of point that are used to calculate collision points and hit-box of entity
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    java.lang.Enum.EnumDesc<E extends java.lang.Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant Description
    CENTER_BOT  
    CENTER_CENTER  
    CENTER_TOP  
    LEFT_BOT  
    LEFT_CENTER  
    LEFT_TOP  
    RIGHT_BOT  
    RIGHT_CENTER  
    RIGHT_TOP  
  • Field Summary

    Fields
    Modifier and Type Field Description
    static CollisionPositions[] BASIC_COLLISION_POSITION  
    private double ratioX  
    private double ratioY  
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    private CollisionPositions​(double ratioX, double ratioY)
    Constructor
  • Method Summary

    Modifier and Type Method Description
    Coordinates<java.lang.Double> calcPosition​(Coordinates<java.lang.Double> topLeft, Dimension dimension)
    Return the position calculate in a rectangle
    private static Coordinates<java.lang.Double> calcTopLetHitBox​(Coordinates<java.lang.Double> topLeftDimension, Dimension dimension, Dimension hitBox)
    Calc and return the top left point of the hit-box matching to an entity with describe by : a top left position of the dimension, a dimension size and a hit-box size
    static Coordinates<java.lang.Double> calcTopLetHitBox​(Entity entity)
    Calc and return the top left point of the hit-box of the entity
    static boolean isInHitBox​(Coordinates<java.lang.Double> topLeft, Dimension dimension, Coordinates<java.lang.Double> collisionPoint)
    Return if the collisionPoint given is contain in the hit-box described by the topLeft point and the dimension.
    static boolean simplyCollide​(Entity entity1, Entity entity2)
    Return if there is a collision between the 2 entity The type of calculation used to do that is simplest than the usual way to do that
    static CollisionPositions valueOf​(java.lang.String name)
    Returns the enum constant of this type with the specified name.
    static CollisionPositions[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Enum

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

  • Field Details

    • BASIC_COLLISION_POSITION

      public static final CollisionPositions[] BASIC_COLLISION_POSITION
    • ratioX

      private final double ratioX
    • ratioY

      private final double ratioY
  • Constructor Details

    • CollisionPositions

      private CollisionPositions​(double ratioX, double ratioY)
      Constructor
      Parameters:
      ratioX - a ratio of dimension X
      ratioY - a ratio of dimension Y
  • Method Details

    • values

      public static CollisionPositions[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static CollisionPositions valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
      java.lang.NullPointerException - if the argument is null
    • calcPosition

      public Coordinates<java.lang.Double> calcPosition​(Coordinates<java.lang.Double> topLeft, Dimension dimension)
      Return the position calculate in a rectangle
      Parameters:
      topLeft - the top-left point
      dimension - the dimension of the rectangle
      Returns:
      the position calculate in a rectangle
    • calcTopLetHitBox

      public static Coordinates<java.lang.Double> calcTopLetHitBox​(Entity entity)
      Calc and return the top left point of the hit-box of the entity
      Parameters:
      entity - an entity
      Returns:
      the top left point of the hit-box of the entity
    • calcTopLetHitBox

      private static Coordinates<java.lang.Double> calcTopLetHitBox​(Coordinates<java.lang.Double> topLeftDimension, Dimension dimension, Dimension hitBox)
      Calc and return the top left point of the hit-box matching to an entity with describe by : a top left position of the dimension, a dimension size and a hit-box size
      Parameters:
      topLeftDimension - a top left position of the dimension
      dimension - a dimension
      hitBox - a hit-box
      Returns:
      the top left point of the hit-box matching to an entity with describe by : a top left position of the dimension, a dimension size and a hit-box size
    • isInHitBox

      public static boolean isInHitBox​(Coordinates<java.lang.Double> topLeft, Dimension dimension, Coordinates<java.lang.Double> collisionPoint)
      Return if the collisionPoint given is contain in the hit-box described by the topLeft point and the dimension. The hit-box is a rectangle, with a left-top point and width/height are determined by dimension. The points is contain in the rectangle if the condition are satisfied : -his X is contain between the minX and maxX of the rectangle, between coords.getX() and coords.getX() + dimension.getWidth() -his Y is contain between the minY and maxY of the rectangle, between coords.getY() and coords.getY() + dimension.getHeight()
      Parameters:
      topLeft - the top-left points of the rectangle
      dimension - the dimension of the rectangle
      collisionPoint - a point
      Returns:
      if the collisionPoint is include in the rectangle described by the topLeft point and the dimension.
    • simplyCollide

      public static boolean simplyCollide​(Entity entity1, Entity entity2)
      Return if there is a collision between the 2 entity The type of calculation used to do that is simplest than the usual way to do that
      Parameters:
      entity1 - an entity
      entity2 - an entity
      Returns:
      if there is a collision between the 2 entity, with a simple kind of calculation