# PSF-LoginServer - master - net.psforever.objects.serverobject.pad.VehicleSpawnControl
PSF - LoginServer - master - net.psforever.objects.serverobject.pad.VehicleSpawnControl
Keywords: PSF LoginServer master net.psforever.objects.serverobject.pad.VehicleSpawnControl

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 serverobject
  Definition Classes
    objects
-  package pad
  Definition Classes
    serverobject
-  package process
  Definition Classes
    pad
- VehicleSpawnControl
- VehicleSpawnPad
- VehicleSpawnPadDefinition

c

net.psforever.objects.serverobject.pad

# VehicleSpawnControl 

###
Companion object VehicleSpawnControl

#### class VehicleSpawnControl extends VehicleSpawnControlBase with Check

An `Actor` that handles vehicle spawning orders for a `VehicleSpawnPad` entity. The basic `VehicleSpawnControl` is the root of a sequence of "spawn control" objects that chain to each other. Each object performs one (or more related) actions upon the vehicle order that was submitted.
The purpose of the base actor is to serve as the entry point for the spawning process and to manage the order queue. A spawn pad receives vehicle orders from a related `Terminal` object. The control object accepts orders, enqueues them, and, whenever prompted by a previous complete order or by an absence of active orders, will select the first available order to be completed. This order will be "tracked" and will be given to the first functional "spawn control" object of the process. If the process is completed, or is ever aborted by any of the subsequent tasks, control will propagate down back to this control object. At this time, (or) once again, a new order can be submitted or will be selected.

Source
  VehicleSpawnControl.scala

Linear Supertypes
Check, BasicAffinity, VehicleSpawnControlBase, Actor, AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. VehicleSpawnControl
2. Check
3. BasicAffinity
4. VehicleSpawnControlBase
5. Actor
6. AnyRef
7. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new VehicleSpawnControl(pad: VehicleSpawnPad)

   pad

     the `VehicleSpawnPad` object being governed

### Type Members

1.  type Receive = PartialFunction[Any, Unit]
   Definition Classes
     Actor

### 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.  def BlockedReminder(blockedOrder: Order, recipients: Seq[VehicleOrder]): Unit

   na

   na

   blockedOrder

     the previous order whose vehicle is blocking the spawn pad from operating

   recipients

     all of the other customers who will be receiving the message

5.  def CancelOrder(vehicle: Vehicle, player: Player, msg: Option[String]): Unit

   Cancel this vehicle order and inform the person who made it, if possible.

   Cancel this vehicle order and inform the person who made it, if possible.

   vehicle

     the vehicle from the order being cancelled

   player

     the player who would driver the vehicle from the order being cancelled

6.  def CancelOrder(entry: VehicleOrder, msg: Option[String]): Unit

   Cancel this vehicle order and inform the person who made it, if possible.

   Cancel this vehicle order and inform the person who made it, if possible.

   entry

     the order being cancelled

7.  def CancelOrder(entry: Order, msg: Option[String]): Unit

   Cancel this vehicle order and inform the person who made it, if possible.

   Cancel this vehicle order and inform the person who made it, if possible.

   entry

     the order being cancelled

8.  def FactionObject: FactionAffinity
   Definition Classes
     VehicleSpawnControl → BasicAffinity
9.  def LogId: String

   Implement this to add a suffix to the identifying name of the logger.

   Implement this to add a suffix to the identifying name of the logger.

   returns

     a special identifier that distinguishes a logger whose name is built of common features

   Definition Classes
     VehicleSpawnControl → VehicleSpawnControlBase
10.  def NewTasking(order: VehicleOrder): Unit

    Take this order - the "first order" - and immediately begin processing it.

    Take this order - the "first order" - and immediately begin processing it. All orders accepted in the meantime will be queued and a note about priority will be issued.

    order

      the order being accepted

11.  def ProcessOrder(order: Option[VehicleOrder]): Unit

    If a new order is accepted, begin processing it.

    If a new order is accepted, begin processing it. Inform all customers whose orders are still queued of their priority number and activate the guard to ensure multiple orders don't get processed at the same time.

    order

      the order being accepted; `None`, if no order found or submitted

12.  def QueuedTasking(order: VehicleOrder): Unit

    While an order is being processed, all orders accepted in the meantime will be queued and a note about priority will be issued.

    While an order is being processed, all orders accepted in the meantime will be queued and a note about priority will be issued.

    order

      the order being accepted

13.  def SelectFirstOrder(): Option[VehicleOrder]

    Select the next-available queued order if there is no current order being fulfilled.

    Select the next-available queued order if there is no current order being fulfilled. If the queue has been exhausted, set functionality to prepare to accept the next order as a "first order."

    returns

      the next-available order

14.  def SelectOrder(): Unit

    Select the next available queued order and begin processing it.

15.  def aroundPostRestart(reason: Throwable): Unit
    Attributes
      protected[akka]
    Definition Classes
      Actor
    Annotations
      @InternalApi()
16.  def aroundPostStop(): Unit
    Attributes
      protected[akka]
    Definition Classes
      Actor
    Annotations
      @InternalApi()
17.  def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
    Attributes
      protected[akka]
    Definition Classes
      Actor
    Annotations
      @InternalApi()
18.  def aroundPreStart(): Unit
    Attributes
      protected[akka]
    Definition Classes
      Actor
    Annotations
      @InternalApi()
19.  def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
    Attributes
      protected[akka]
    Definition Classes
      Actor
    Annotations
      @InternalApi()
20.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
21.  val checkBehavior: Receive
    Definition Classes
      Check
22.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
23.  val concealPlayer: ActorRef

    The first chained action of the vehicle spawning process.

24.  implicit val context: ActorContext
    Definition Classes
      Actor
25.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
26.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
27.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
28.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
29.  var handleOrderFunc: (VehicleOrder) => Unit

    how to process either the first order or every subsequent order

30.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
31.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
32.  def log: Logger

    Act as if a variable for the logging agent.

    Act as if a variable for the logging agent.

    returns

      a `Logger` object

    Definition Classes
      VehicleSpawnControlBase
33.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
34.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
35.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
36.  def orderCredentialsCheck(recipients: Iterable[VehicleOrder]): Iterable[VehicleOrder]

    For all orders, ensure that that order's details match acceptable specifications and partition all orders that should be cancelled for one reason or another.

    For all orders, ensure that that order's details match acceptable specifications and partition all orders that should be cancelled for one reason or another. Generate informative error messages for the failing orders, cancel those partitioned orders, and only return all orders that are still valid.

    recipients

      the original list of orders

    returns

      the list of still-acceptable orders

37.  var orders: List[VehicleOrder]

    a list of vehicle orders that have been submitted for this spawn pad

38.  var periodicReminder: Cancellable

    a reminder sent to future customers

39.  def postRestart(reason: Throwable): Unit
    Definition Classes
      Actor
    Annotations
      @throws(classOf[java.lang.Exception])
40.  def postStop(): Unit
    Definition Classes
      VehicleSpawnControl → Actor
41.  def preRestart(reason: Throwable, message: Option[Any]): Unit
    Definition Classes
      Actor
    Annotations
      @throws(classOf[java.lang.Exception])
42.  def preStart(): Unit
    Definition Classes
      Actor
    Annotations
      @throws(classOf[java.lang.Exception])
43.  var queueManagement: Cancellable

    repeatedly test whether queued orders are valid

44.  def queueManagementTask(): Unit

    One-stop shop to test queued vehicle spawn pad orders for valid credentials and either start a periodic examination of those credentials until the queue has been emptied or cancel a running periodic examination if the queue is already empty.

45.  def receive: Receive
    Definition Classes
      VehicleSpawnControl → Actor
46.  implicit final val self: ActorRef
    Definition Classes
      Actor
47.  final def sender(): ActorRef
    Definition Classes
      Actor
48.  val supervisorStrategy: OneForOneStrategy
    Definition Classes
      VehicleSpawnControl → Actor
49.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
50.  def toString(): String
    Definition Classes
      AnyRef → Any
51.  def trace(msg: String): Unit

    A common manner of utilizing the logging agent such that all messages have the same logging level.

    A common manner of utilizing the logging agent such that all messages have the same logging level. The default should be `trace`-level comments. No important messages should processed by this agent; only consume general vehicle spawn status.

    msg

      the message

    Definition Classes
      VehicleSpawnControlBase
52.  var trackedOrder: Option[Order]

    the current vehicle order being acted upon; used as a guard condition to control order processing rate

53.  def unhandled(message: Any): Unit
    Definition Classes
      Actor
54.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
55.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
56.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from Check

### Inherited from BasicAffinity

### Inherited from VehicleSpawnControlBase

### Inherited from Actor

### Inherited from AnyRef

### Inherited from Any

### Ungrouped