com.threerings.tudey.config
Class PlaceableConfig

java.lang.Object
  extended by com.threerings.util.DeepObject
      extended by com.threerings.config.ManagedConfig
          extended by com.threerings.config.ParameterizedConfig
              extended by com.threerings.tudey.config.PlaceableConfig
All Implemented Interfaces:
ConfigUpdateListener<ManagedConfig>, Exportable, ResourceManager.ModificationObserver, Copyable, Cloneable

public class PlaceableConfig
extends ParameterizedConfig

The configuration of a placeable object.


Nested Class Summary
static class PlaceableConfig.ClickableProp
          Clickable prop implementation.
static class PlaceableConfig.Derived
          A derived implementation.
static class PlaceableConfig.Implementation
          Contains the actual implementation of the placeable.
static class PlaceableConfig.Marker
          A marker implementation.
static class PlaceableConfig.Original
          Superclass of the original implementations.
static class PlaceableConfig.Prop
          A prop implementation.
static class PlaceableConfig.StatefulProp
          Stateful prop implementation.
 
Field Summary
 PlaceableConfig.Implementation implementation
          The actual placeable implementation.
static PlaceableConfig.Original NULL_ORIGINAL
          Used when we can't resolve the placeable's underlying original implementation.
 
Fields inherited from class com.threerings.config.ParameterizedConfig
_args, _base, _derived, parameters
 
Fields inherited from class com.threerings.config.ManagedConfig
_cfgmgr, _listeners, _name, _updateConfigs, _updateResources
 
Constructor Summary
PlaceableConfig()
           
 
Method Summary
protected  void fireConfigUpdated()
          Fires a configuration updated event.
 PlaceableCursor.Implementation getCursorImplementation(TudeyContext ctx, Scope scope, PlaceableCursor.Implementation impl)
          Creates or updates a cursor implementation for this configuration.
 PlaceableConfig.Original getOriginal(ConfigManager cfgmgr)
          Returns a reference to the config's underlying original implementation.
 PlaceableSprite.Implementation getSpriteImplementation(TudeyContext ctx, Scope scope, PlaceableSprite.Implementation impl)
          Creates or updates a sprite implementation for this configuration.
protected  void getUpdateReferences(ConfigReferenceSet refs)
          Collects all of the references within this config to configs that, when updated, should trigger a call to ManagedConfig.fireConfigUpdated().
 
Methods inherited from class com.threerings.config.ParameterizedConfig
applyArguments, applyArguments, getBound, getInstance, getParameter, getParameter, getReference, maybeFireOnConfigManager, validateOuters, validateReferences, wasUpdated
 
Methods inherited from class com.threerings.config.ManagedConfig
addListener, addUpdateDependencies, clearUpdateDependencies, configUpdated, getConfigManager, getInstance, getInstance, getInstance, getInstance, getName, getUpdateResources, init, removeListener, resourceModified, setName, updateFromSource
 
Methods inherited from class com.threerings.util.DeepObject
clone, copy, copy, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NULL_ORIGINAL

public static final PlaceableConfig.Original NULL_ORIGINAL
Used when we can't resolve the placeable's underlying original implementation.


implementation

@Editable
public PlaceableConfig.Implementation implementation
The actual placeable implementation.

Constructor Detail

PlaceableConfig

public PlaceableConfig()
Method Detail

getOriginal

public PlaceableConfig.Original getOriginal(ConfigManager cfgmgr)
Returns a reference to the config's underlying original implementation.


getCursorImplementation

public PlaceableCursor.Implementation getCursorImplementation(TudeyContext ctx,
                                                              Scope scope,
                                                              PlaceableCursor.Implementation impl)
Creates or updates a cursor implementation for this configuration.

Parameters:
scope - the placeable's expression scope.
impl - an existing implementation to reuse, if possible.
Returns:
either a reference to the existing implementation (if reused), a new implementation, or null if no implementation could be created.

getSpriteImplementation

public PlaceableSprite.Implementation getSpriteImplementation(TudeyContext ctx,
                                                              Scope scope,
                                                              PlaceableSprite.Implementation impl)
Creates or updates a sprite implementation for this configuration.

Parameters:
scope - the placeable's expression scope.
impl - an existing implementation to reuse, if possible.
Returns:
either a reference to the existing implementation (if reused), a new implementation, or null if no implementation could be created.

fireConfigUpdated

protected void fireConfigUpdated()
Description copied from class: ManagedConfig
Fires a configuration updated event.

Overrides:
fireConfigUpdated in class ManagedConfig

getUpdateReferences

protected void getUpdateReferences(ConfigReferenceSet refs)
Description copied from class: ManagedConfig
Collects all of the references within this config to configs that, when updated, should trigger a call to ManagedConfig.fireConfigUpdated().

Overrides:
getUpdateReferences in class ManagedConfig