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

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 affinity
  Definition Classes
    serverobject
-  package aura
  Definition Classes
    serverobject
-  package containable
  Definition Classes
    serverobject
-  package damage
  Definition Classes
    serverobject
-  package deploy
  Definition Classes
    serverobject
-  package doors
  Definition Classes
    serverobject
-  package environment
  Definition Classes
    serverobject
-  package generator
  Definition Classes
    serverobject
-  package hackable
  Definition Classes
    serverobject
-  package llu
  Definition Classes
    serverobject
-  package locks
  Definition Classes
    serverobject
-  package mblocker
  Definition Classes
    serverobject
-  package mount
  Definition Classes
    serverobject
-  package pad
  Definition Classes
    serverobject
-  package painbox
  Definition Classes
    serverobject
-  package repair
  Definition Classes
    serverobject
-  package resourcesilo
  Definition Classes
    serverobject
-  package shuttle
  Definition Classes
    serverobject
-  package structures
  Definition Classes
    serverobject
-  package terminals
  Definition Classes
    serverobject
-  package transfer
  Definition Classes
    serverobject
-  package tube
  Definition Classes
    serverobject
-  package turret
  Definition Classes
    serverobject
-  package zipline
  Definition Classes
    serverobject
- CommonMessages
- PlanetSideServerObject
- ServerObjectBuilder

c

net.psforever.objects.serverobject

# ServerObjectBuilder 

###
Companion object ServerObjectBuilder

#### class ServerObjectBuilder[A <: PlanetSideServerObject] extends AnyRef

Customizable native entity instantiation logic at the `ZoneMap` level. Produces environmental constants such as `Terminal` objects and `Door` objects.
`ZoneMap` is the expected position where this class is defined. Within `Zone.Init` is where this class is expected to be fully executed. The former is a blueprint which provides as many emitted entities based on how many `Zone` objects utilize it. `constructor` is required to have the form `(Int, ActorContext) => A` by the point where it executes due to invocation of the `Build` method. For that reason, it must exist in an `Actor` which has an `ActorContext` to lend, hence the `Zone`'s `Actor`. Furthermore, the requirement of a `NumberPoolHub` means the region is accessible to and defined by a closed number space, which is also the `Zone`. It utilizes those qualities of the enclosing region to construct the entity within that region.
Example: `ServerObjectBuilder(n, function)`
Example: `new ServerBuilderObject[A](n, function)`, where `function` is a `(Int,Context)=>A`

A

  any object that extends from PlanetSideServerObject that will be produced by this class; can be inferred from the output of `constructor`

Source
  ServerObjectBuilder.scala
See also

  `ZoneMap`

  `Zone.Init`

Linear Supertypes
AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. ServerObjectBuilder
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new ServerObjectBuilder(id: Int, constructor: ConstructorType[A])

   id

     the unique id that will be assigned to this entity

   constructor

     the logic that initializes the emitted entity

### 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 Build(implicit context: ActorContext = null, guid: NumberPoolHub = null): A

   Instantiate and configure the given server object.

   Instantiate and configure the given server object. Specific configuration should have been handled by curried parameters into `constructor`, i.e., `constructor(foo : Bar) => constructor(Int, ActorContext) => A`. The main activity performed locally registers the created object to the provided number space.

   context

     a context to allow the object to properly set up `ActorSystem` functionality; defaults to `null`

   guid

     the local globally unique identifier system to complete the process of object introduction; defaults to `null`

   returns

     the object that was created and integrated into the `Zone`

5.  def Id: Int
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
8.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
9.  def equals(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef → Any
10.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
11.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
12.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
13.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
14.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
15.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
16.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
17.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
18.  def toString(): String
    Definition Classes
      AnyRef → Any
19.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
20.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
21.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from AnyRef

### Inherited from Any

### Ungrouped