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
- Alphabetic
- By Inheritance
- ServerObjectBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- 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 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 tonull
- 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
- def Id: Int
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()