trait DeployableBehavior extends AnyRef
A trait
mixin to manage the basic lifecycle of Deployable
entities.
Two parts of the deployable lifecycle are supported - building/deployment and dismissal/deconstruction.
Furthermore, both parts of the lifecycle can also be broken down into two parts for the purposes of sequencing.
The former part can be referred to as "preparation" which, at the least, queues the future part.
This latter part can be referred to as "execution" where the the actual process takes place.
Internal messaging protocol permits the lifecycle to transition.
"Building" of the deployable starts when a Setup
request is received during the appropriate window of opportunity
and queues up a the formal construction event and its packets for a later period (usually a few seconds).
After being constructed, the deployable can be deconstructed by receiving such a Deconstruct
message.
As deployables are capable of being owned by the player,
in between two two states of being created and deconstructed,
deployables may also recognize that their ownership has been changed and go through appropriate element shuffling.
That recognition is much easier before having their construction finalized, however.
Interaction with the major zone deployable management service is crucial.
- Self Type
- DeployableBehavior with Actor
- Source
- DeployableBehavior.scala
- See also
OwnableByPlayer
ZoneDeployableActor
- Alphabetic
- By Inheritance
- DeployableBehavior
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def DeployableObject: Deployable
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val decay: Cancellable
the timer for the deconstruction process
- def deconstructDeployable(time: Option[FiniteDuration]): Unit
The first stage of the deployable dismissal process, to put the formal process in motion.
The first stage of the deployable dismissal process, to put the formal process in motion.
- time
an optional duration that overrides the deployable's usual duration
- val deletionType: Int
a value that is utilized by the
ObjectDeleteMessage
packet, affecting animation - val deployableBehavior: (DeployableBehavior.this)#Receive
- def deployableBehaviorPostStop(): Unit
- def dismissDeployable(): Unit
The second stage of the deployable build process, to complete the formal process.
The second stage of the deployable build process, to complete the formal process. Queue up final deployable unregistering, separate from the zone's deployable governance, and instruct all clients in this zone that the deployable is to be deconstructed.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def finalizeDeployable(callback: ActorRef): Unit
The second stage of the deployable build process, to complete the formal process.
The second stage of the deployable build process, to complete the formal process. If no owner is assigned, the deployable must immediately begin suffering decay. Nothing dangerous happens if it does not begin to decay, but, because it is not under a player's management, the deployable will not properly transition to a decay state for another reason and can linger in the zone ownerless for as long as it is not destroyed.
- callback
an
ActorRef
used for confirming the deployable's completion of the process
- See also
AvatarAction.DeployItem
DeploymentAction
DeployableInfo
LocalAction.DeployableMapIcon
Zone.Deployable.IsBuilt
- def gainOwnership(player: Player, toFaction: types.PlanetSideEmpire.Value): Unit
na
na
- player
the player being given ownership of this deployable
- toFaction
the faction to which the deployable is being assigned; usually matches the
player
's own faction
- def gainOwnership(player: Player): Unit
na
na
- player
the player being given ownership of this deployable
- See also
gainOwnership(Player, PlanetSideEmpire.Value)
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def isConstructed: Option[Boolean]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def loseOwnership(toFaction: types.PlanetSideEmpire.Value): Unit
Losing ownership involves updating map screen UI, to remove management rights from the now-previous owner, and may involve concealing the deployable from the map screen for the entirety of the previous owner's faction.
Losing ownership involves updating map screen UI, to remove management rights from the now-previous owner, and may involve concealing the deployable from the map screen for the entirety of the previous owner's faction. Displaying the deployable on the map screen of another faction may be required.
- toFaction
the faction to which to set the deployable to be visualized on the map and in the game world; may also affect deployable operation
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val setup: Cancellable
the timer for the construction process
- def setupDeployable(callback: ActorRef): Unit
The first stage of the deployable build process, to put the formal process in motion.
The first stage of the deployable build process, to put the formal process in motion. Deployables, upon construction, may display an animation effect. Parameters are required to be passed onto the next stage of the build process and are not used here.
- callback
an
ActorRef
used for confirming the deployable's completion of the process
- See also
DeployableDefinition.deployAnimation
DeployableDefinition.DeployTime
LocalAction.TriggerEffectLocation
- def startOwnerlessDecay(): Unit
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unregisterDeployable(obj: Deployable): Unit
The task for unregistering this deployable.
The task for unregistering this deployable. Most deployables are monolithic entities, requiring only a single unique identifier.
- obj
the deployable
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()