MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
|
#include <Element_Indexed.h>
Public Types | |
enum | { ELT_VERSION = 1, BITS_IN_INDEX = 24 } |
typedef BitVector < P::BITS_PER_ATOM > | BVA |
typedef BitField< BVA, VD::U32, BITS_IN_INDEX,(P3Atom< P > ::P3_STATE_BITS_POS+7)/8 *8 > | AFIndex |
Public Member Functions | |
virtual u32 | PercentMovable (const T &you, const T &me, const SPoint &offset) const |
virtual u32 | DefaultPhysicsColor () const |
virtual u32 | DefaultLowlightColor () const |
virtual u32 | LocalPhysicsColor (const T &atom, u32 selector) const |
virtual const char * | GetDescription () const |
virtual void | Behavior (EventWindow< CC > &window) const |
virtual const T & | GetDefaultAtom () const |
![]() | |
Element (const UUID &uuid) | |
void | AllocateType () |
u32 | GetType () const |
const char * | GetAtomicSymbol () const |
const char * | GetName () const |
virtual void | AppendDescription (const T *atom, OString64 &desc) const |
bool | IsType (u32 type) const |
const UUID & | GetUUID () const |
virtual u32 | PhysicsColor () const |
void | ToggleLowlightPhysicsColor () |
virtual u32 | Diffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) const |
u32 | NoDiffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) const |
const ElementParameters< CC > & | GetElementParameters () const |
ElementParameters< CC > & | GetElementParameters () |
const AtomicParameters< CC > & | GetAtomicParameters () const |
AtomicParameters< CC > & | GetAtomicParameters () |
Static Public Member Functions | |
static const u32 | TYPE () |
Static Public Attributes | |
static Element_Indexed | THE_INSTANCE |
![]() | |
static const u32 | COMPLETE_DIFFUSABILITY = 1000 |
Additional Inherited Members | |
![]() | |
virtual T | BuildDefaultAtom () const |
const BitVector < P::BITS_PER_ATOM > & | GetBits (const T &atom) const |
BitVector< P::BITS_PER_ATOM > & | GetBits (T &atom) const |
bool | IsValidAtomicSymbol (const char *symbol) |
void | SetAtomicSymbol (const char *symbol) |
void | SetName (const char *name) |
void | Diffuse (EventWindow< CC > &window) const |
An element with an index number to help in tracking.
|
inlinevirtual |
Describes the behavior of this Element. This is invoked when an Atom of this Element is chosen as the center of an EventWindow for an Event, which is given as a parameter.
window | The EventWindow describing the Event which is currently being executed. |
Implements MFM::Element< CC >.
|
inlinevirtual |
Gets the 32-bit ARGB formatted color that all Atoms of this Element will be drawn with when they have lowlight drawing enabled.
Reimplemented from MFM::Element< CC >.
|
inlinevirtual |
Gets the 32-bit ARGB formatted color that all Atoms of this Element will be drawn with.
Implements MFM::Element< CC >.
|
inlinevirtual |
Gets the default Atom of this Element . If this Element has not been assigned a type through AllocateType()
, this will FAIL with ILLEGAL_STATE. NOTE: The defaultAtom returned here will have been constructed by Element::BuildDefaultAtom, which leaves all state bits zero. If this is not desirable, element subclasses should override this to provide their own default atom initialization.
Reimplemented from MFM::Element< CC >.
|
inlinevirtual |
Gets a string of a short description of the behavior of this Element . This will be displayed in some way when a user needs help with this Element . This string must not include newlines; they will be added when they are needed.
Reimplemented from MFM::Element< CC >.
|
inlinevirtual |
Used during rendering, will select a color for any Atom of this Element to be rendered with. This should be overridden if wanting to use a gradient or some other variable color based on the body of the specified Atom .
atom | The Atom of this element of which to find a color for. |
selector | An additional argument which may be used to determine the color of which to render atom |
atom
with. Reimplemented from MFM::Element< CC >.
|
inlinevirtual |
Determines how likely an Atom of this type is to be swapped with during diffusal.
Implements MFM::Element< CC >.