Godot Nature of Code  1.2.0
Nature of Code implemented in Godot Engine
Public Member Functions | Public Attributes | List of all members
Forces.SimpleAttractor Class Reference

Simple mover attractor. More...

Inheritance diagram for Forces.SimpleAttractor:
Drawing.SimpleCircleSprite Forces.SimpleRepeller

Public Member Functions

 SimpleAttractor ()
 Create a default attractor with a 20px radius. More...
 
virtual Vector2 Attract (SimpleMover mover)
 Generate attraction force depending on a mover. More...
 
- Public Member Functions inherited from Drawing.SimpleCircleSprite
 SimpleCircleSprite ()
 Create a light blue circle with radius 10. More...
 
 SimpleCircleSprite (Texture texture)
 Create a circle with a custom texture. More...
 

Public Attributes

float Mass = 20.0f
 Attractor mass More...
 
float Gravitation = 1.0f
 Gravitaton More...
 
float MinForce = 5
 Minimum force More...
 
float MaxForce = 25
 Maximum force More...
 

Additional Inherited Members

- Properties inherited from Drawing.SimpleCircleSprite
float Radius [get, set]
 Circle radius. More...
 

Detailed Description

Simple mover attractor.

Definition at line 12 of file SimpleAttractor.cs.

Constructor & Destructor Documentation

◆ SimpleAttractor()

Forces.SimpleAttractor.SimpleAttractor ( )
inline

Create a default attractor with a 20px radius.

Definition at line 29 of file SimpleAttractor.cs.

30  {
31  Radius = 20f;
32  Modulate = Colors.LightGoldenrod;
33  Visible = true;
34  }
float Radius
Circle radius.

Member Function Documentation

◆ Attract()

virtual Vector2 Forces.SimpleAttractor.Attract ( SimpleMover  mover)
inlinevirtual

Generate attraction force depending on a mover.

Parameters
moverMover instance
Returns
Attraction force vector

Reimplemented in Forces.SimpleRepeller.

Definition at line 41 of file SimpleAttractor.cs.

42  {
43  var force = GlobalPosition - mover.GlobalPosition;
44  var length = Mathf.Clamp(force.Length(), MinForce, MaxForce);
45  float strength = (Gravitation * Mass * mover.Mass) / (length * length);
46  return force.Normalized() * strength;
47  }
float Mass
Attractor mass
float MaxForce
Maximum force
float Gravitation
Gravitaton
float MinForce
Minimum force

Member Data Documentation

◆ Gravitation

float Forces.SimpleAttractor.Gravitation = 1.0f

Gravitaton

Definition at line 18 of file SimpleAttractor.cs.

◆ Mass

float Forces.SimpleAttractor.Mass = 20.0f

Attractor mass

Definition at line 15 of file SimpleAttractor.cs.

◆ MaxForce

float Forces.SimpleAttractor.MaxForce = 25

Maximum force

Definition at line 24 of file SimpleAttractor.cs.

◆ MinForce

float Forces.SimpleAttractor.MinForce = 5

Minimum force

Definition at line 21 of file SimpleAttractor.cs.


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