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.
- Alphabetic
- By Inheritance
- VehicleSpawnControl
- Check
- BasicAffinity
- VehicleSpawnControlBase
- Actor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new VehicleSpawnControl(pad: VehicleSpawnPad)
- pad
the
VehicleSpawnPad
object being governed
Type Members
- type Receive = PartialFunction[Any, Unit]
- Definition Classes
- Actor
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
- 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
- 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
- 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
- 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
- def FactionObject: FactionAffinity
- Definition Classes
- VehicleSpawnControl → BasicAffinity
- 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
- 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
- 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
- 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
- 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
- def SelectOrder(): Unit
Select the next available queued order and begin processing it.
- def aroundPostRestart(reason: Throwable): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPostStop(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPreStart(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val checkBehavior: Receive
- Definition Classes
- Check
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val concealPlayer: ActorRef
The first chained action of the vehicle spawning process.
- implicit val context: ActorContext
- Definition Classes
- Actor
- 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])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- var handleOrderFunc: (VehicleOrder) => Unit
how to process either the first order or every subsequent order
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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
- 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()
- 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
- var orders: List[VehicleOrder]
a list of vehicle orders that have been submitted for this spawn pad
- var periodicReminder: Cancellable
a reminder sent to future customers
- def postRestart(reason: Throwable): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def postStop(): Unit
- Definition Classes
- VehicleSpawnControl → Actor
- def preRestart(reason: Throwable, message: Option[Any]): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def preStart(): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- var queueManagement: Cancellable
repeatedly test whether queued orders are valid
- 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.
- def receive: Receive
- Definition Classes
- VehicleSpawnControl → Actor
- implicit final val self: ActorRef
- Definition Classes
- Actor
- final def sender(): ActorRef
- Definition Classes
- Actor
- val supervisorStrategy: OneForOneStrategy
- Definition Classes
- VehicleSpawnControl → Actor
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- var trackedOrder: Option[Order]
the current vehicle order being acted upon; used as a guard condition to control order processing rate
- def unhandled(message: Any): Unit
- Definition Classes
- Actor
- 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()