public abstract class WorldManagerPlugin extends EnginePlugin implements PerceiverCallback<WMWorldNode>, PerceptionUpdateTrigger
Modifier and Type | Class and Description |
---|---|
static class |
WorldManagerPlugin.HostInstanceFilter |
static class |
WorldManagerPlugin.PathObjectCache |
static class |
WorldManagerPlugin.WorldManagerFilter |
static class |
WorldManagerPlugin.WorldManagerInstance |
static class |
WorldManagerPlugin.WorldManagerTransferFilter |
EnginePlugin.DeleteHook, EnginePlugin.DeleteSubObjHook, EnginePlugin.GenerateSubObjectHook, EnginePlugin.GetPropertyMessage, EnginePlugin.GetPropertyNamesMessage, EnginePlugin.LoadHook, EnginePlugin.LoadSubObjHook, EnginePlugin.PluginActivateHook, EnginePlugin.PluginStateMessage, EnginePlugin.SaveHook, EnginePlugin.SaveSubObjHook, EnginePlugin.SetPropertyMessage, EnginePlugin.SubObjData, EnginePlugin.TransferFilter, EnginePlugin.TransferObjectMessage, EnginePlugin.UnloadHook, EnginePlugin.UnloadSubObjHook
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<OID,java.util.Set<OID>> |
_groupList |
protected boolean |
askedForPathInfo |
protected int |
defaultWorldManagerHysteresis |
protected static Logger |
log |
protected java.util.Set<MessageType> |
mobFilterTypes |
protected java.util.Set<MessageType> |
mobRPCFilterTypes |
protected WorldManagerPlugin.WorldManagerFilter |
newRegionFilter |
protected long |
newRegionSub |
protected PathInfo |
pathInfo |
protected static WorldManagerPlugin.PathObjectCache |
pathObjectCache |
protected java.util.Set<java.lang.String> |
propertyExclusions |
protected java.util.Map<OID,WorldSpace<WMWorldNode>> |
quadtrees |
static java.lang.String |
REGION_MEMBERSHIP |
static boolean |
sendDebugCorrectionPoints |
protected java.util.Set<Namespace> |
subObjectFilterNamespaces |
protected java.util.Set<MessageType> |
subObjectFilterTypes |
protected atavism.server.plugins.WorldManagerPlugin.Updater |
updater |
DevMode, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, lock, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_GET_PROPERTY_NAMES, MSG_TYPE_PLUGIN_STATE, MSG_TYPE_RELOAD_TEMPLATES, MSG_TYPE_SET_PROPERTY, MSG_TYPE_SET_PROPERTY_NONBLOCK, MSG_TYPE_TRANSFER_OBJECT, pluginStateSubscription, propertySubscription, selectionFilter, selectionSubscription, subObjectSubscription
NO_FLAGS, RESPONSE_EXPECTED
Constructor and Description |
---|
WorldManagerPlugin() |
Modifier and Type | Method and Description |
---|---|
protected void |
despawnObject(AOObject obj) |
protected AOObject |
generateWorldManagerSubObject(Template template,
OID masterOid)
Override this method to change what kind of object is created for the sub
object hook.
|
protected abstract DisplayContext |
getDisplayContext(OID objOid)
returns the current display context for the given objOid
|
protected java.util.Set<OID> |
getGuildMembers(int guildId) |
java.lang.String |
getInstanceInfoString(OID instanceOid) |
PathInfo |
getPathInfo() |
protected OID |
getPerceiverOid(MobilePerceiver<WMWorldNode> mobileP) |
java.util.Set<java.lang.String> |
getPropertyExclusions()
Object properties excluded from property messages.
|
java.util.Map<java.lang.String,java.lang.String> |
getStatusMap()
Override to provide plugin status.
|
Entity |
getWorldManagerEntity(OID oid) |
Entity |
getWorldManagerEntityOrError(OID oid) |
protected WorldManagerClient.ObjectInfo |
makeObjectInfo(OID oid) |
protected WorldManagerClient.ObjectInfo |
makeObjectInfoNoInterpolation(OID oid) |
protected WorldManagerClient.PerceptionInfo |
makePerceptionInfo(OID oid,
AOObject object,
boolean interpolate) |
void |
onActivate()
for developers extending the EnginePlugin object, it may
be easier to use the onActivate() method which gets
called when the plugin is being activated by the Engine.
|
void |
preUpdate(PerceptionFilter filter,
FilterUpdate.Instruction instruction,
AgentHandle sender,
SubscriptionHandle sub) |
java.lang.Integer |
processNewsAndFrees(Perceiver<WMWorldNode> p,
PerceiverNewsAndFrees<WMWorldNode> newsAndFrees,
OID perceiverOid)
This method creates the NewsAndFreesMessage, and sends it to to subscribers.
|
protected void |
registerHooks() |
void |
registerWorldManagerEntity(Entity entity) |
boolean |
removeWorldManagerEntity(OID oid) |
protected void |
sendDCMessage(AOObject obj)
Send full display context message usually called in response to receiving an
update message from the proxy.
|
protected void |
sendObjectSoundMessage(OID notifyOid,
AOObject updateObj,
java.util.List<SoundData> soundData) |
protected void |
sendPropertyMessage(OID notifyOid,
AOObject updateObj)
Sends over all properties of the update object over to the notifyOid.
|
protected void |
sendTargetedPropertyMessage(OID targetOid,
AOObject updateObj) |
protected void |
sendWMMessage(Message msg) |
protected void |
sendWNodeMessage(OID oid,
AOObject updateObj)
Sends over an update of the world node
|
void |
setPathInfo(PathInfo pathInfo) |
protected java.lang.Integer |
spawnObject(AOObject obj,
WorldSpace<WMWorldNode> quadtree)
Helper method - spawns the object. obj is the sub object.
|
protected void |
startUpdater() |
protected void |
subscribeForMob(OID oid) |
protected void |
subscribeForObject(OID masterOid) |
protected void |
unsubscribeForMob(OID oid) |
protected void |
unsubscribeForObject(OID oid) |
activate, createMBeanInstance, createSubscription, getHookManager, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getObjectPropertyNames, getPercentCPULoad, getPluginAvailable, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getPropertyNamesImpl, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, ReloadTemplates, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setName, setObjectProperties, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginAvailable, setPluginInfo, setPluginType, setPropertyImpl, transferObject
protected java.util.Set<MessageType> subObjectFilterTypes
protected java.util.Set<Namespace> subObjectFilterNamespaces
protected WorldManagerPlugin.WorldManagerFilter newRegionFilter
protected long newRegionSub
protected final java.util.Set<MessageType> mobFilterTypes
protected final java.util.Set<MessageType> mobRPCFilterTypes
protected int defaultWorldManagerHysteresis
protected java.util.Map<OID,WorldSpace<WMWorldNode>> quadtrees
protected java.util.Set<java.lang.String> propertyExclusions
protected static final Logger log
protected PathInfo pathInfo
protected boolean askedForPathInfo
protected atavism.server.plugins.WorldManagerPlugin.Updater updater
protected static WorldManagerPlugin.PathObjectCache pathObjectCache
public static final java.lang.String REGION_MEMBERSHIP
public static boolean sendDebugCorrectionPoints
public void onActivate()
EnginePlugin
onActivate
in class EnginePlugin
public java.util.Map<java.lang.String,java.lang.String> getStatusMap()
EnginePlugin
getStatusMap
in interface StatusMapCallback
getStatusMap
in class EnginePlugin
public void registerWorldManagerEntity(Entity entity)
public boolean removeWorldManagerEntity(OID oid)
protected void startUpdater()
protected void registerHooks()
protected WorldManagerClient.PerceptionInfo makePerceptionInfo(OID oid, AOObject object, boolean interpolate)
protected void sendWMMessage(Message msg)
protected OID getPerceiverOid(MobilePerceiver<WMWorldNode> mobileP)
public java.lang.Integer processNewsAndFrees(Perceiver<WMWorldNode> p, PerceiverNewsAndFrees<WMWorldNode> newsAndFrees, OID perceiverOid)
processNewsAndFrees
in interface PerceiverCallback<WMWorldNode>
protected java.util.Set<OID> getGuildMembers(int guildId)
public void preUpdate(PerceptionFilter filter, FilterUpdate.Instruction instruction, AgentHandle sender, SubscriptionHandle sub)
preUpdate
in interface PerceptionUpdateTrigger
public PathInfo getPathInfo()
public void setPathInfo(PathInfo pathInfo)
protected WorldManagerClient.ObjectInfo makeObjectInfo(OID oid)
protected WorldManagerClient.ObjectInfo makeObjectInfoNoInterpolation(OID oid)
public java.lang.String getInstanceInfoString(OID instanceOid)
protected AOObject generateWorldManagerSubObject(Template template, OID masterOid)
protected void subscribeForMob(OID oid)
protected void subscribeForObject(OID masterOid)
protected void unsubscribeForMob(OID oid)
protected void unsubscribeForObject(OID oid)
protected java.lang.Integer spawnObject(AOObject obj, WorldSpace<WMWorldNode> quadtree)
protected void despawnObject(AOObject obj)
protected void sendDCMessage(AOObject obj)
protected abstract DisplayContext getDisplayContext(OID objOid)
protected void sendPropertyMessage(OID notifyOid, AOObject updateObj)
protected void sendTargetedPropertyMessage(OID targetOid, AOObject updateObj)
protected void sendWNodeMessage(OID oid, AOObject updateObj)
protected void sendObjectSoundMessage(OID notifyOid, AOObject updateObj, java.util.List<SoundData> soundData)
public java.util.Set<java.lang.String> getPropertyExclusions()