VoltAir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Groups Pages
Signals | Public Member Functions | Properties | List of all members
MagneticHighlightLogic Class Reference

Class which mediates between magnetic attractors and magnet visual effects on target objects. More...

Inheritance diagram for MagneticHighlightLogic:
Logic QObject

Signals

void inAttractorRangeChanged ()
 Emitted when inAttractorRange has changed. More...
 
- Signals inherited from Logic
void activeChanged ()
 Emitted when active changes. More...
 

Public Member Functions

bool isInAttractorRange () const
 Returns inAttractorRange. More...
 
void setInAttractorRange (bool value)
 Sets inAttractorRange. More...
 
void notifyInAttractorRange ()
 Marks this actor as having an attractor within range this frame. More...
 
virtual void update () override
 Performs latching of inAttractorRange in response to calls to notifyInAttractorRange(). More...
 
- Public Member Functions inherited from Logic
 Logic (QObject *parent=nullptr)
 Constructs a Logic. More...
 
ActorgetActor () const
 Returns actor. More...
 
bool isActive () const
 Returns active. More...
 
void setActive (bool value)
 Sets active. More...
 
virtual void init ()
 Performs initialization of this Logic. More...
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
virtual const QMetaObjectmetaObject () const
 
QString objectName () const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const
 
bool isWindowType () const
 
bool signalsBlocked () const
 
bool blockSignals (bool block)
 
QThreadthread () const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
void killTimer (int id)
 
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 &regExp, 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< QByteArraydynamicPropertyNames () const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const
 
bool inherits (const char *className) const
 
void deleteLater ()
 

Properties

bool inAttractorRange
 Whether or not there is currently an attractor within range of this actor. More...
 
- Properties inherited from Logic
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...
 
- Properties inherited from QObject
 objectName
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
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)
 
- Protected Member Functions inherited from QObject
QObjectsender () 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)
 

Detailed Description

Class which mediates between magnetic attractors and magnet visual effects on target objects.

It is used to fade in a glow that signifies the magnetic object is within range.

Magnetic attractors write their state to this Logic. This Logic latches that state for one frame, and resets the next. For example, if an attractor is within range of this Logic's actor, the attractor will notify this Logic. This Logic will then mark itself as having an attractor within range. If no attractor is within range for an entire frame, it resets.

This method provides advantages over having each attractor remember which magnets were within range, including no pointer management / dangling pointer cleanup, and not requiring any set objects or allocations that might be associated with using a container object. The main disadvantage is potential one-frame delays.

Member Function Documentation

void MagneticHighlightLogic::inAttractorRangeChanged ( )
signal

Emitted when inAttractorRange has changed.

bool MagneticHighlightLogic::isInAttractorRange ( ) const
inline

Returns inAttractorRange.

void MagneticHighlightLogic::notifyInAttractorRange ( )

Marks this actor as having an attractor within range this frame.

This causes its state to latch to true. It is reset to false the next frame if no attractor is within range then.

void MagneticHighlightLogic::setInAttractorRange ( bool  value)

Sets inAttractorRange.

Parameters
valueBoolean to set inAttractorRange to
virtual void MagneticHighlightLogic::update ( )
overridevirtual

Performs latching of inAttractorRange in response to calls to notifyInAttractorRange().

Reimplemented from Logic.

Property Documentation

bool MagneticHighlightLogic::inAttractorRange
readwrite

Whether or not there is currently an attractor within range of this actor.