# PSF-LoginServer - master - net.psforever.objects.ce.DeployableBehavior
PSF - LoginServer - master - net.psforever.objects.ce.DeployableBehavior
Keywords: PSF LoginServer master net.psforever.objects.ce.DeployableBehavior

PSF-LoginServer - master < Back


# Packages

-  package root
  Definition Classes
    root
-  package net
  Definition Classes
    root
-  package psforever
  Definition Classes
    net
-  package objects
  Definition Classes
    psforever
-  package ce
  Definition Classes
    objects
- BaseDeployable
- Deployable
- DeployableBehavior
- DeployableCategory
- DeployedItem
- InteractWithMines
- TelepadControl
- TelepadLike

t

net.psforever.objects.ce

# DeployableBehavior 

###
Companion object DeployableBehavior

#### 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`

Linear Supertypes
AnyRef, Any
Known Subclasses
BoomerDeployableControl, ExplosiveDeployableControl, MineDeployableControl, SensorDeployableControl, ShieldGeneratorControl, TelepadDeployableControl, TrapDeployableControl, TurretControl

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. DeployableBehavior
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Abstract Value Members

1.  abstract def DeployableObject: Deployable

### Concrete Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
6.  val decay: Cancellable

   the timer for the deconstruction process

7.  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

8.  val deletionType: Int

   a value that is utilized by the `ObjectDeleteMessage` packet, affecting animation

9.  val deployableBehavior: (DeployableBehavior.this)#Receive
10.  def deployableBehaviorPostStop(): Unit
11.  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.

12.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
14.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
15.  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`

16.  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

17.  def gainOwnership(player: Player): Unit

    na

    na

    player

      the player being given ownership of this deployable

    See also

      `gainOwnership(Player, PlanetSideEmpire.Value)`

18.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
19.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
20.  def isConstructed: Option[Boolean]
21.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
22.  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

23.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
24.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
25.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
26.  val setup: Cancellable

    the timer for the construction process

27.  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`

28.  def startOwnerlessDecay(): Unit
29.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
30.  def toString(): String
    Definition Classes
      AnyRef → Any
31.  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

32.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
33.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
34.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from AnyRef

### Inherited from Any

### Ungrouped