VoltAir
|
Logic which pulls its parent actor in the direction of magnetic Bodys and also attracting them towards our Body. More...
Signals | |
void | hasTargetInRangeChanged () |
Emitted when hasTargetInRange changed. More... | |
void | onChanged () |
Emitted when on changed. More... | |
void | strengthChanged () |
Emitted when strength changed. More... | |
void | softnessChanged () |
Emitted when softness changed. More... | |
void | sensorBodyChanged () |
Emitted when sensorBody changed. More... | |
void | activeSoundChanged () |
Emitted when activeSound changed. More... | |
![]() | |
void | activeChanged () |
Emitted when active changes. More... | |
Public Member Functions | |
MagneticAttractorLogic () | |
Construct a MagneticAttractorLogic. More... | |
bool | hasTargetInRange () const |
Returns hasTargetInRange. More... | |
void | setHasTargetInRange (bool value) |
Sets hasTargetInRange. More... | |
bool | isOn () const |
Returns on. More... | |
void | setOn (bool value) |
Sets on. More... | |
float | getStrength () const |
Returns strength. More... | |
void | setStrength (float value) |
Sets strength. More... | |
float | getSoftness () const |
Returns softness. More... | |
void | setSoftness (float value) |
Sets softness. More... | |
Body * | getSensorBody () const |
Returns sensorBody. More... | |
void | setSensorBody (Body *value) |
Sets sensorBody. More... | |
const QString & | getActiveSound () const |
Returns activeSound. More... | |
void | setActiveSound (const QString &value) |
Sets activeSound. More... | |
Q_INVOKABLE QPointF | getCurrentMagneticForce () const |
Returns the sum of magnetic forces currently being exerted by this magnet. More... | |
virtual void | init () override |
Implements Logic::init() to perform additional initialization. More... | |
virtual void | update () override |
Computes and exerts forces on magnetic objects, if on is true . More... | |
![]() | |
Logic (QObject *parent=nullptr) | |
Constructs a Logic. More... | |
Actor * | getActor () const |
Returns actor. More... | |
bool | isActive () const |
Returns active. More... | |
void | setActive (bool value) |
Sets active. More... | |
![]() | |
QObject (QObject *parent) | |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
virtual const QMetaObject * | metaObject () const |
QString | objectName () const |
void | setObjectName (const QString &name) |
bool | isWidgetType () const |
bool | isWindowType () const |
bool | signalsBlocked () const |
bool | blockSignals (bool block) |
QThread * | thread () const |
void | moveToThread (QThread *targetThread) |
int | startTimer (int interval, Qt::TimerType timerType) |
void | killTimer (int id) |
T | findChild (const QString &name, QFlags< Qt::FindChildOption > options) const |
QList< T > | findChildren (const QString &name, QFlags< Qt::FindChildOption > options) const |
QList< T > | findChildren (const QRegExp ®Exp, QFlags< Qt::FindChildOption > options) const |
QList< T > | findChildren (const QRegularExpression &re, QFlags< Qt::FindChildOption > options) const |
const QObjectList & | children () const |
void | setParent (QObject *parent) |
void | installEventFilter (QObject *filterObj) |
void | removeEventFilter (QObject *obj) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const |
bool | disconnect (const QObject *receiver, const char *method) const |
void | dumpObjectTree () |
void | dumpObjectInfo () |
bool | setProperty (const char *name, const QVariant &value) |
QVariant | property (const char *name) const |
QList< QByteArray > | dynamicPropertyNames () const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const |
bool | inherits (const char *className) const |
void | deleteLater () |
Properties | |
bool | hasTargetInRange |
Whether or not a magnetic Body is within range of this magnet. More... | |
bool | on |
Whether or not this magnet is on, and should attract magnetic Bodys. More... | |
float | strength |
Overall strength of the magnet. More... | |
float | softness |
Amount of softness (linearity) of the magnet's attraction. More... | |
Body | sensorBody |
Body to use as a sensor for this magnet. More... | |
QString | activeSound |
Path to sound to play looped while the magnet is on. More... | |
![]() | |
Actor | actor |
Parent actor that is affected by this Logic's behavior. More... | |
bool | active |
Whether or not Engine calls update() on this Logic during the Engine::LOGICS_PHASE. More... | |
![]() | |
objectName | |
Additional Inherited Members | |
![]() | |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
![]() | |
QObject * | sender () const |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
virtual void | childEvent (QChildEvent *event) |
virtual void | customEvent (QEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
Logic which pulls its parent actor in the direction of magnetic Bodys and also attracting them towards our Body.
The magnet is controlled by its on, strength, and softness properties. See these properties for their behavior. The magnet can also use a separate sensor Body. Bodys in contact with that sensor Body will be considered in range of the magnet, but the attractive force will be applied to the magnet's parent actor's Body.
While affected by the pull of a non-dynamic magnetic Body, the parent actor will ignore the world's gravity. Gravity will be enabled when magnetism is no longer pulling on the actor.
A rotation offset also provides a way for the parent actor to smoothly orient its Graphics towards the most potent force affecting it.
MagneticAttractorLogic::MagneticAttractorLogic | ( | ) |
Construct a MagneticAttractorLogic.
|
signal |
Emitted when activeSound changed.
|
inline |
Returns activeSound.
Q_INVOKABLE QPointF MagneticAttractorLogic::getCurrentMagneticForce | ( | ) | const |
Returns the sum of magnetic forces currently being exerted by this magnet.
|
inline |
Returns sensorBody.
|
inline |
Returns softness.
|
inline |
Returns strength.
|
inline |
Returns hasTargetInRange.
|
signal |
Emitted when hasTargetInRange changed.
|
overridevirtual |
Implements Logic::init() to perform additional initialization.
Reimplemented from Logic.
|
inline |
Returns on.
|
signal |
Emitted when on changed.
|
signal |
Emitted when sensorBody changed.
void MagneticAttractorLogic::setActiveSound | ( | const QString & | value | ) |
Sets activeSound.
value | QString to set activeSound to |
void MagneticAttractorLogic::setHasTargetInRange | ( | bool | value | ) |
Sets hasTargetInRange.
value | Boolean to set hasTargetInRange to |
void MagneticAttractorLogic::setSensorBody | ( | Body * | value | ) |
Sets sensorBody.
value | Body to set sensorBody to |
void MagneticAttractorLogic::setSoftness | ( | float | value | ) |
void MagneticAttractorLogic::setStrength | ( | float | value | ) |
|
signal |
Emitted when softness changed.
|
signal |
Emitted when strength changed.
|
overridevirtual |
|
readwrite |
Path to sound to play looped while the magnet is on.
|
readwrite |
Whether or not a magnetic Body is within range of this magnet.
A Body is in range if it is in contact with this actor's Body, or sensorBody if it is set.
|
readwrite |
Whether or not this magnet is on, and should attract magnetic Bodys.
This should be set in response to player input to turn the magnet on and off. This property is distinct from the Logic::active property.
|
readwrite |
|
readwrite |
Amount of softness (linearity) of the magnet's attraction.
This should be set to a value between 0.0f
and 1.0f
. 0.0f
applies inverse square distance attenuation, which is physically real. 1.0f
applies inverse linear distance attenuation, which feels slightly softer and less jarring but less physically accurate.
|
readwrite |
Overall strength of the magnet.