Green Rock Engine 0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
GREngine.Core.Physics2D.PolygonCollider Class Reference
Inheritance diagram for GREngine.Core.Physics2D.PolygonCollider:
Inheritance graph
[legend]
Collaboration diagram for GREngine.Core.Physics2D.PolygonCollider:
Collaboration graph
[legend]

Public Member Functions

 PolygonCollider (List< PointF > vertices)
 
 PolygonCollider (List< PointF > vertices, bool debugged)
 
 PolygonCollider (List< PointF > vertices, string collisionLayer, bool debugged=false)
 
 PolygonCollider (List< PointF > vertices, Vector2 offset, string collisionLayer, bool debugged=false)
 
 PolygonCollider (List< PointF > vertices, Vector2 offset, bool debugged=false)
 
override void CalculateAABB ()
 Looks through all transformed vertices and finds the minimum and maximum bounding points.
 
override void SolveCollision (PolygonCollider other, Vector2 velocity)
 First checks if AABBs are overlapping before proceeding Then will do some stuff and resolve the collision.
 
override void SolveCollision (CircleCollider other, Vector2 velocity)
 
override bool PointInsideCollider (PointF point)
 
List< PointF > GetVertices ()
 Get all vertices of this polygon collider, translated and rotated to the correct world position.
 
override void DrawDebug ()
 Draws the Polygon onto the provided SpriteBatch.
 
- Public Member Functions inherited from GREngine.Core.Physics2D.Collider
delegate void TriggerEvent (Collider collidedWith)
 
delegate void CollisionEvent (Collider collidedWith)
 
 Collider (Vector2 offset, string layer, bool debug)
 
 Collider (string layer, bool debug)
 
 Collider (bool debug)
 
 Collider (Vector2 offset, bool debug)
 
void updatePosition (float dt)
 
void SetVelocity (Vector2 externalVelocity)
 
void accelerate (Vector2 acc)
 
Vector2 GetOldPosition ()
 
Vector2 GetLocalNodePosition ()
 Gets local position from the node as a Vector2 This method is used for velocity.
 
Vector2 GetGlobalColliderPosition ()
 Gets global position from the node as a Vector2 This method is used for collision detection.
 
void SetNodePosition (Vector2 position)
 Sets the position of the Node.
 
Vector2 GetOffset ()
 
void SetOffset (Vector2 offset)
 
float GetRotation ()
 
void SetRotation (float r)
 
AABB GetAABB ()
 
void SetStatic (bool b)
 
bool IsStatic ()
 
void SetTrigger (bool b)
 
bool IsTrigger ()
 
void SetLayer (string layer)
 
string GetLayer ()
 
bool IsAABBOverlapping ()
 
void SetAABBOverlapping (bool b)
 
void SetAllowedCollisionLayers (List< string > layers)
 Pass in a list of layers with which this collider should be able to collide with.
 
List< string > GetAllowedCollisionLayers ()
 
void SolveCollisions (List< Collider > others)
 
void SolveCollision (Collider other, Vector2 velocity)
 
void SolveCollision (PolygonCollider other, Vector2 velocity)
 
void SolveCollision (CircleCollider other, Vector2 velocity)
 
bool PointInsideCollider (PointF point)
 
void CalculateAABB ()
 Each subclass will have its own method of calculating its AABB.
 
- Public Member Functions inherited from GREngine.Core.System.Behaviour
override void SetEnabled (bool state)
 
int CompareTo (Behaviour? other)
 
- Public Member Functions inherited from GREngine.Core.System.AbstractGameObject
delegate void EnabledChanged (bool state)
 
bool HasTag (string tag)
 

Public Attributes

List< PointF > vertices
 First points connects to second, last point connects to first Relative to position.
 

Additional Inherited Members

- Protected Member Functions inherited from GREngine.Core.Physics2D.Collider
override void OnAwake ()
 
override void OnStart ()
 
override void OnDestroy ()
 
override void OnUpdate (GameTime gameTime)
 
void SetAABB (AABB aabb)
 
void FireCorrectEvent (Vector2 collisionVector, Collider other)
 
void FireTriggerEnter (Vector2 collisionVector, Collider other)
 
void FireCollisionEnter (Vector2 collisionVector, Collider other)
 
- Protected Member Functions inherited from GREngine.Core.System.Behaviour
virtual void OnFixedUpdate (GameTime gameTime)
 
- Protected Attributes inherited from GREngine.Core.Physics2D.Collider
ICollisionSystem collisionSystem
 
- Protected Attributes inherited from GREngine.Core.System.Behaviour
readonly uint InstanceID
 
- Protected Attributes inherited from GREngine.Core.System.AbstractGameObject
readonly HashSet< string > Tags = new()
 
- Properties inherited from GREngine.Core.Physics2D.Collider
bool Debug = false [get, set]
 
float VelocityDampingMultiplier = 1 [get, set]
 
Vector2 Velocity [get, set]
 
- Properties inherited from GREngine.Core.System.Behaviour
Game Game [get, set]
 
NodeNode [get, set]
 
- Properties inherited from GREngine.Core.System.AbstractGameObject
bool Enabled = true [get]
 
string Name = "Generic Object" [get, protected set]
 
- Events inherited from GREngine.Core.Physics2D.Collider
TriggerEvent? OnTriggerEnter
 
CollisionEvent? OnCollisionEnter
 
- Events inherited from GREngine.Core.System.AbstractGameObject
EnabledChanged? EnabledChangedEvent
 

Member Function Documentation

◆ DrawDebug()

override void GREngine.Core.Physics2D.PolygonCollider.DrawDebug ( )
inlinevirtual

Draws the Polygon onto the provided SpriteBatch.

Reimplemented from GREngine.Core.Physics2D.Collider.

◆ GetVertices()

List< PointF > GREngine.Core.Physics2D.PolygonCollider.GetVertices ( )
inline

Get all vertices of this polygon collider, translated and rotated to the correct world position.

Returns

◆ SolveCollision()

override void GREngine.Core.Physics2D.PolygonCollider.SolveCollision ( PolygonCollider  other,
Vector2  velocity 
)
inline

First checks if AABBs are overlapping before proceeding Then will do some stuff and resolve the collision.

Parameters
other

The documentation for this class was generated from the following file: