MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
|
Public Types | |
enum | { BLOCK_VERSION = 1 } |
Public Member Functions | |
virtual const T & | GetDefaultAtom () const |
virtual u32 | DefaultPhysicsColor () const |
virtual u32 | DefaultLowlightColor () const |
virtual u32 | Diffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) const |
virtual u32 | PercentMovable (const T &you, const T &me, const SPoint &offset) const |
virtual void | Behavior (EventWindow< CC > &window) 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 |
virtual const char * | GetDescription () const |
void | ToggleLowlightPhysicsColor () |
virtual u32 | LocalPhysicsColor (const T &atom, u32 selector) 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_Block | 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 |
|
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 |
On entry, the Atom at nowAt will be an instance of the type of this Element. How much does that atom like the idea that it should be moved to (or remain at; the two SPoints might be equal) location maybeAt? Return 0 to flat-out veto the idea, or from 0 up to COMPLETE_DIFFUSABILITY to request that fraction of diffusability. (Values larger than COMPLETE_DIFFUSABILITY are treated as equal to it.) Note that nowAt and maybeAt are both relative to the EventWindow ew, but neither is necessarily the center atom!
By default all atoms are considered diffusable, and they return COMPLETE_DIFFUSABILITY chances for every suggested move
Reimplemented from 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 |
Determines how likely an Atom of this type is to be swapped with during diffusal.
Implements MFM::Element< CC >.