class Zone extends AnyRef
A server object representing the one-landmass planets as well as the individual subterranean caverns.
The concept of a "zone" is synonymous to the common vernacular "continent,"
commonly referred by names such as Hossin or Ishundar and internally identified as c2 and c7, respectively.
A Zone
is composed of the abstracted concept of all the information pertinent for the simulation of the environment.
That is, "everything about the continent."
Physically, server objects and dynamic game objects are maintained through a local unique identifier system.
Static server objects originate from the ZoneMap
.
Dynamic game objects originate from player characters.
(Write more later.)
- Source
- Zone.scala
- See also
ZoneMap
LoadMapMessage
LivePlayerList
- Alphabetic
- By Inheritance
- Zone
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Zone(id: String, map: ZoneMap, zoneNumber: Int)
- id
the privileged name that can be used as the second parameter in the packet
LoadMapMessage
- map
the map of server objects upon which this
Zone
is based- zoneNumber
the numerical index of the
Zone
as it is recognized in a variety of packets; also used byLivePlayerList
to indicate a specificZone
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 Activity: ActorRef
- def Activity_=(bus: ActorRef): ActorRef
- def AddIntercontinentalLatticeLink(bldgA: Building, bldgB: Building): Graph[Building, UnDiEdge]
- def AddPool(name: String, pool: Seq[Int]): Option[NumberPool]
Wraps around the globally unique identifier system to insert a new number pool.
Wraps around the globally unique identifier system to insert a new number pool. Throws exceptions for specific reasons if the pool can not be populated before the system has been started.
- name
the name of the pool
- pool
the numbers that will belong to the pool
- returns
true
, if the new pool is created;false
, if the new pool can not be created because the system has already been started
- See also
NumberPoolHub.AddPool
- def AvatarEvents: ActorRef
- def AvatarEvents_=(bus: ActorRef): ActorRef
- def Building(name: String): Option[Building]
- def Building(id: Int): Option[Building]
- def BuildingByMapId(map_id: Int): Option[Building]
- def Buildings: Map[Int, Building]
- def ClientInitialization(): Zone
Provide bulk correspondence on all map entities that can be composed into packet messages and reported to a client.
Provide bulk correspondence on all map entities that can be composed into packet messages and reported to a client. These messages are sent in this fashion at the time of joining the server:
-BuildingInfoUpdateMessage
-DensityLevelUpdateMessage
-BroadcastWarpgateUpdateMessage
-CaptureFlagUpdateMessage
-ContinentalLockUpdateMessage
-ModuleLimitsMessage
-VanuModuleUpdateMessage
-ZoneForcedCavernConnectionMessage
-ZoneInfoMessage
-ZoneLockInfoMessage
-ZonePopulationUpdateMessage
- returns
the
Zone
object
- def Corpses: List[Player]
- def DeployableList: List[Deployable]
- def Deployables: ActorRef
- def EquipmentOnGround: List[Equipment]
The
List
of items (Equipment
) dropped by players on the ground and can be collected again.The
List
of items (Equipment
) dropped by players on the ground and can be collected again.- returns
the
List
ofEquipment
- def GUID(object_guid: Int): Option[PlanetSideGameObject]
Recover an object from the globally unique identifier system by the number that was assigned previously.
Recover an object from the globally unique identifier system by the number that was assigned previously. The object must be upcast into due to the minor difference between the storage type and the return type.
- object_guid
the globally unique identifier requested
- returns
the associated object, if it exists
- See also
NumberPoolHub(Int)
- def GUID(object_guid: PlanetSideGUID): Option[PlanetSideGameObject]
Recover an object from the globally unique identifier system by the number that was assigned previously.
Recover an object from the globally unique identifier system by the number that was assigned previously.
- object_guid
the globally unique identifier requested
- returns
the associated object, if it exists
- See also
GUID(Int)
- def GUID(object_guid: Option[PlanetSideGUID]): Option[PlanetSideGameObject]
Recover an object from the globally unique identifier system by the number that was assigned previously.
Recover an object from the globally unique identifier system by the number that was assigned previously.
- object_guid
the globally unique identifier requested
- returns
the associated object, if it exists
- See also
GUID(Int)
- def GUID(hub: NumberPoolHub): Boolean
Replace the current globally unique identifier support structure with a new one.
Replace the current globally unique identifier support structure with a new one. The replacement will not occur if the current system is populated or if its synchronized reference has been created. The primary use of this function should be testing. A warning will be issued.
- returns
synchronized reference to the globally unique identifier system
- def GUID: UniqueNumberOps
The globally unique identifier system ensures that concurrent requests do not clash.
The globally unique identifier system ensures that concurrent requests do not clash. A clash is merely when the same number is produced more than once by the same system due to concurrent requests.
- returns
reference to the globally unique identifier system
- def Ground: ActorRef
Coordinate
Equipment
that has been dropped on the ground or to-be-dropped on the ground.Coordinate
Equipment
that has been dropped on the ground or to-be-dropped on the ground.- returns
synchronized reference to the ground
- See also
ZoneGroundActor
Zone.DropItemOnGround
Zone.GetItemOnGround
Zone.ItemFromGround
- def HotSpotCoordinateFunction: (Vector3) => Vector3
- def HotSpotCoordinateFunction_=(func: (Vector3) => Vector3): (Vector3) => Vector3
- def HotSpotData: List[HotSpotInfo]
- def HotSpotTimeFunction: (SourceEntry, SourceEntry) => FiniteDuration
- def HotSpotTimeFunction_=(func: (SourceEntry, SourceEntry) => FiniteDuration): (SourceEntry, SourceEntry) => FiniteDuration
- def HotSpots: List[HotSpotInfo]
- def Lattice: Graph[Building, UnDiEdge]
- def LivePlayers: List[Player]
- def LocalEvents: ActorRef
- def LocalEvents_=(bus: ActorRef): ActorRef
- def Number: Int
The numerical index of the
Zone
as it is recognized in a variety of packets.The numerical index of the
Zone
as it is recognized in a variety of packets.- returns
the abstract index position of this
Zone
- def Players: List[Avatar]
- def PopulateBlockMap(): Unit
- def Population: ActorRef
- def Projectile: ActorRef
- def Projectiles: List[Projectile]
- def RemoveIntercontinentalLatticeLink(bldgA: Building, bldgB: Building): Graph[Building, UnDiEdge]
- def RemovePool(name: String): Boolean
Wraps around the globally unique identifier system to remove an existing number pool.
Wraps around the globally unique identifier system to remove an existing number pool. Throws exceptions for specific reasons if the pool can not be removed before the system has been started.
- name
the name of the pool
- returns
true
, if the pool is un-made;false
, if the pool can not be removed (because the system has already been started?)
- See also
NumberPoolHub.RemovePool
- def SetupNumberPools(): Unit
- def SpawnGroups(spawns: (Building, List[SpawnPoint])): Map[Building, List[SpawnPoint]]
- def SpawnGroups(buildingId: Int): List[SpawnPoint]
- def SpawnGroups(building: Building): List[SpawnPoint]
- def SpawnGroups(): Map[Building, List[SpawnPoint]]
- def StartPlayerManagementSystems(): Unit
- def StopPlayerManagementSystems(): Unit
- def Transport: ActorRef
- def VehicleEvents: ActorRef
- def VehicleEvents_=(bus: ActorRef): ActorRef
- def Vehicles: List[Vehicle]
- def ZoneInitialized(): Future[Boolean]
When the zone has completed initializing, this will be the future.
When the zone has completed initializing, this will be the future.
- See also
init(ActorContext)
- var actor: ActorRef[Command]
Governs general synchronized external requests.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val blockMap: BlockMap
The blockmap structure for partitioning entities and environmental aspects of the zone.
The blockmap structure for partitioning entities and environmental aspects of the zone. For a standard 8912
^
2 map, each of the four hundred formal map grids is 445.6m long and wide. A
desiredSpanSizeof 100m divides the blockmap into 8100 sectors. A
desiredSpanSizeof 50m divides the blockmap into 32041 sectors.
- 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])
- def findNearestSpawnPoints(faction: types.PlanetSideEmpire.Value, location: Vector3, spawnGroups: Seq[SpawnGroup]): Option[List[SpawnPoint]]
- def findSpawns(faction: types.PlanetSideEmpire.Value, spawnGroups: Seq[SpawnGroup]): List[(AmenityOwner, Iterable[SpawnPoint])]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val id: String
- def init(implicit context: ActorContext): Unit
Establish the basic accessible conditions necessary for a functional
Zone
.
Called from theActor
that governs thisZone
when it is passed a constructor reference to theZone
.Establish the basic accessible conditions necessary for a functional
Zone
.
Called from theActor
that governs thisZone
when it is passed a constructor reference to theZone
. Specifically, the order of calling follows:InterstellarCluster.preStart -> ZoneActor.receive(Zone.Init()) -> Zone.Init
. The basic method performs three main operations. First, theActor
-driven aspect of the globally unique identifier system for thisZone
is finalized. Second, all supportingActor
agents are created, e.g.,ground
. Third, theZoneMap
server objects are loaded and constructed within that aforementioned system. To avoid being called more than once, there is a test whether the globally unique identifier system has been changed.
Execution of this operation should be fail-safe. The chances of failure should be mitigated or skipped. A testing routine should be run after the fact on the results of the process.- context
a reference to an
ActorContext
necessary forProps
- See also
ZoneActor.ZoneSetupCheck
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val map: ZoneMap
- 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
- def turretToWeapon: Map[Int, Int]
- def validate(): Unit
- def validateObject(objectGuid: Int, test: (PlanetSideGameObject) => Boolean, description: String)(implicit log: Logger): Boolean
Recover an object from a collection and perform any number of validating tests upon it.
Recover an object from a collection and perform any number of validating tests upon it. If the object fails any tests, log an error.
- objectGuid
the unique indentifier being checked against the
guid
access point- test
a test for the discovered object; expects at least
Type
checking- description
an explanation of how the object, if not discovered, should be identified
- returns
true
if the object was discovered and validates correctly;false
if the object failed any tests
- 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()
- def zipLinePaths: List[ZipLinePath]