com.planet_ink.coffee_mud.Items.CompTech
Class GenLightSwitch

java.lang.Object
  extended by com.planet_ink.coffee_mud.Items.Basic.StdItem
      extended by com.planet_ink.coffee_mud.Items.BasicTech.StdElecItem
          extended by com.planet_ink.coffee_mud.Items.CompTech.StdElecCompItem
              extended by com.planet_ink.coffee_mud.Items.CompTech.GenElecCompItem
                  extended by com.planet_ink.coffee_mud.Items.CompTech.GenLightSwitch
All Implemented Interfaces:
Affectable, Behavable, CMObject, Contingent, DBIdentifiable, Environmental, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, ElecPanel, Electronics, Item, TechComponent, Technical, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class GenLightSwitch
extends GenElecCompItem
implements ElecPanel


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Technical
Technical.TechCommand, Technical.TechType
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.TechComponent
TechComponent.ShipDir
 
Field Summary
protected static long LIGHT_TIME
           
protected  long nextPowerNeed
           
protected  java.lang.String readableText
           
 
Fields inherited from class com.planet_ink.coffee_mud.Items.CompTech.StdElecCompItem
circuitKey, installedFactor, maxRechargePer
 
Fields inherited from class com.planet_ink.coffee_mud.Items.BasicTech.StdElecItem
activated, cachedManufact, manufacturer, power, powerCapacity
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
affectPhyStats, affects, baseGoldValue, basePhyStats, behaviors, cachedImageName, CODES, databaseID, description, destroyed, displayText, dispossessionTime, material, me, miscText, myContainer, myUses, myWornCode, name, owner, phyStats, properWornBitmap, rawImageName, riding, scripts, secretIdentity, tickCtr, tickStatus, wornLogicalAnd, xtraValues
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.ElecPanel
PANELTYPES
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
DEFAULT_WORN_CODES, DEFAULT_WORN_DEPENDENCYGRID, DEFAULT_WORN_DESCS, DEFAULT_WORN_ORDER, DEFAULT_WORN_USUAL_NAMES, DEFAULT_WORN_WEIGHT_POINTS, DEFAULT_WORN_WEIGHTS, FILTER_ANY, FILTER_MOBINVONLY, FILTER_ROOMONLY, FILTER_UNWORNONLY, FILTER_WORNONLY, HIGHEST_WORN_CODE, IN_INVENTORY, WORN_ABOUT_BODY, WORN_ARMS, WORN_BACK, WORN_EARS, WORN_EYES, WORN_FEET, WORN_FLOATING_NEARBY, WORN_HANDS, WORN_HEAD, WORN_HELD, WORN_LEFT_FINGER, WORN_LEFT_WRIST, WORN_LEGS, WORN_MOUTH, WORN_NECK, WORN_RIGHT_FINGER, WORN_RIGHT_WRIST, WORN_TORSO, WORN_WAIST, WORN_WIELD
 
Constructor Summary
GenLightSwitch()
           
 
Method Summary
 void affectPhyStats(Physical affected, PhyStats affectableStats)
          This method is called by the recoverPhyStats() method on other Environmental objects.
 void executeMsg(Environmental host, CMMsg msg)
          The general message event handler for the object.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 Technical.TechType panelType()
          Gets the type of panel this is, which shows what sorts of items can be "installed into it.
 void powerOtherSwitched(Environmental host, CMMsg msg)
           
 void recoverPhyStats()
          This method copies the basePhyStats() object into the phyStats() object, then makes repeated calls to all surrounding objects with affectPhyStats(Environmental,PhyStats) method.
 void setPanelType(Technical.TechType type)
          Sets the type of panel this is, which shows what sorts of items can be "installed into it.
 void tellOtherSwitches(Environmental host, CMMsg msg, boolean goAhead)
           
 
Methods inherited from class com.planet_ink.coffee_mud.Items.CompTech.GenElecCompItem
getCodeNum, getStat, getStatCodes, isGeneric, sameAs, setMiscText, setStat, text
 
Methods inherited from class com.planet_ink.coffee_mud.Items.CompTech.StdElecCompItem
destroy, getComputedEfficiency, getInstalledFactor, getRechargeRate, isAllWiringHot, isInstalled, isThisPanelActivated, okMessage, powerNeeds, reportError, sendLocalMessage, setInstalledFactor, setOwner, setRechargeRate, subjectToWearAndTear
 
Methods inherited from class com.planet_ink.coffee_mud.Items.BasicTech.StdElecItem
activate, activated, getFinalManufacturer, getManufacturerName, getTechType, powerCapacity, powerRemaining, setManufacturerName, setPowerCapacity, setPowerRemaining, setTechLevel, techLevel
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
abilityImbuesMagic, addBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectCharStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWear, canWearComplete, cloneFix, compareProperLocations, compareTo, container, copyOf, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, displayText, displayText, eachBehavior, eachEffect, eachScript, effects, expirationDate, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, fitsOn, getSaveStatIndex, getTickStatus, I, image, initializeClass, isReadable, isSavable, isStat, L, material, maxRange, minRange, miscTextFormat, name, Name, name, newInstance, numBehaviors, numberOfItems, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, readableText, recursiveWeight, removeFromOwnerContainer, riding, scripts, secretIdentity, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setName, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setReadableText, setRiding, setSavable, setSecretIdentity, setUsesRemaining, stopTicking, tackOns, tick, ultimateContainer, unWear, usesRemaining, value, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Electronics
activate, activated, getFinalManufacturer, getManufacturerName, powerCapacity, powerNeeds, powerRemaining, setManufacturerName, setPowerCapacity, setPowerRemaining
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Technical
getTechType, setTechLevel, techLevel
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining, value
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Rider
riding, setRiding
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.DBIdentifiable
canSaveDatabaseID, databaseID, setDatabaseID
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Readable
isReadable, readableText, setReadable, setReadableText
 

Field Detail

readableText

protected java.lang.String readableText

LIGHT_TIME

protected static final long LIGHT_TIME
See Also:
Constant Field Values

nextPowerNeed

protected volatile long nextPowerNeed
Constructor Detail

GenLightSwitch

public GenLightSwitch()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class GenElecCompItem
Returns:
the name of this class

recoverPhyStats

public void recoverPhyStats()
Description copied from interface: Affectable
This method copies the basePhyStats() object into the phyStats() object, then makes repeated calls to all surrounding objects with affectPhyStats(Environmental,PhyStats) method. Surrounding objects include the room where the object is located, the Ability objects in the Effects list, the Behaviors in the behaviors list, and race/charclass/area if applicable. Those methods will then make all necessary adjustments to the values in the new phyStats() object. When it returns, phyStats() will have a totally updated object. This method must be called in code whenever the object is placed on the map, or when anything changes in its environment, such as location, effects, or other states.

Specified by:
recoverPhyStats in interface Affectable
Overrides:
recoverPhyStats in class StdItem
See Also:
Affectable.basePhyStats(), Affectable.phyStats(), Affectable.addEffect(Ability), Behavable.addBehavior(Behavior), PhyStats

affectPhyStats

public void affectPhyStats(Physical affected,
                           PhyStats affectableStats)
Description copied from interface: StatsAffecting
This method is called by the recoverPhyStats() method on other Environmental objects. It is used to transform the Environmental basePhyStats() object into a finished phyStats() object, both of which are objects implementing the PhyStats interface. See those methods for more information.

Specified by:
affectPhyStats in interface StatsAffecting
Overrides:
affectPhyStats in class StdItem
Parameters:
affected - the host of the PhyStats object being affected
affectableStats - the particular PhyStats object being affected
See Also:
PhyStats, Environmental, Affectable.basePhyStats(), Affectable.phyStats(), Affectable.recoverPhyStats()

powerOtherSwitched

public void powerOtherSwitched(Environmental host,
                               CMMsg msg)

tellOtherSwitches

public void tellOtherSwitches(Environmental host,
                              CMMsg msg,
                              boolean goAhead)

executeMsg

public void executeMsg(Environmental host,
                       CMMsg msg)
Description copied from interface: MsgListener
The general message event handler for the object. Messages passed herein may not necessarily be FOR this object, or from it, but will almost always represent events happening in the same room. The messages have already been through an approval process, so this method is called only to affect the final execution of the meaning of the message. Every game event goes through these methods.

Specified by:
executeMsg in interface MsgListener
Overrides:
executeMsg in class StdElecCompItem
Parameters:
host - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg

panelType

public Technical.TechType panelType()
Description copied from interface: ElecPanel
Gets the type of panel this is, which shows what sorts of items can be "installed into it. This method is a sort of companion to Container.containTypes()

Specified by:
panelType in interface ElecPanel
Returns:
the type of panel this is
See Also:
ElecPanel.setPanelType(com.planet_ink.coffee_mud.Items.interfaces.Technical.TechType), Technical.TechType

setPanelType

public void setPanelType(Technical.TechType type)
Description copied from interface: ElecPanel
Sets the type of panel this is, which shows what sorts of items can be "installed into it. This method is a sort of companion to Container.setContainTypes(long)

Specified by:
setPanelType in interface ElecPanel
Parameters:
type - the type of panel this is
See Also:
ElecPanel.setPanelType(com.planet_ink.coffee_mud.Items.interfaces.Technical.TechType), Technical.TechType