# PSF-LoginServer - master - net.psforever.objects.zones.Zone
PSF - LoginServer - master - net.psforever.objects.zones.Zone
Keywords: PSF LoginServer master net.psforever.objects.zones.Zone

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 zones
  Definition Classes
    objects
-  package blockmap
  Definition Classes
    zones
- ActivityReport
- HotSpotInfo
- InteractsWithZone
- MapEnvironment
- MapInfo
- MapScale
- SOI
- SphereOfInfluenceActor
- Zone
- ZoneAware
- ZoneDeployableActor
- ZoneGroundActor
- ZoneHotSpotDisplay
- ZoneHotSpotHistory
- ZoneHotSpotProjector
- ZoneInfo
- ZoneInteraction
- ZoneMap
- ZonePopulationActor
- ZoneVehicleActor
- Zoning

c

net.psforever.objects.zones

# Zone 

###
Companion object Zone

#### 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`

Linear Supertypes
AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. Zone
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  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 by `LivePlayerList` to indicate a specific `Zone`

### 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 Activity: ActorRef
5.  def Activity_=(bus: ActorRef): ActorRef
6.  def AddPool(name: String, pool: Seq[Int]): Boolean

   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`

7.  def AvatarEvents: ActorRef
8.  def AvatarEvents_=(bus: ActorRef): ActorRef
9.  def Building(name: String): Option[Building]
10.  def Building(id: Int): Option[Building]
11.  def BuildingByMapId(map_id: Int): Option[Building]
12.  def Buildings: Map[Int, Building]
13.  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

14.  def Corpses: List[Player]
15.  def CreateTaskResolvers(context: ActorContext, numberCreated: Int = 20): ActorRef
    Attributes
      protected
16.  def DeployableList: List[Deployable]
17.  def Deployables: ActorRef
18.  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` of `Equipment`

19.  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 differtence 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)`

20.  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)`

21.  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)`

22.  def GUID(hub: NumberPoolHub): Boolean

    Replace the current globally unique identifier system with a new one.

    Replace the current globally unique identifier system 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

23.  def GUID: ActorRef

    The globally unique identifier system is synchronized via an `Actor` to ensure that concurrent requests do not clash.

    The globally unique identifier system is synchronized via an `Actor` to ensure 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

      synchronized reference to the globally unique identifier system

24.  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`

25.  def HotSpotCoordinateFunction: (Vector3) => Vector3
26.  def HotSpotCoordinateFunction_=(func: (Vector3) => Vector3): (Vector3) => Vector3
27.  def HotSpotData: List[HotSpotInfo]
28.  def HotSpotTimeFunction: (SourceEntry, SourceEntry) => FiniteDuration
29.  def HotSpotTimeFunction_=(func: (SourceEntry, SourceEntry) => FiniteDuration): (SourceEntry, SourceEntry) => FiniteDuration
30.  def HotSpots: List[HotSpotInfo]
31.  def Lattice: Graph[Building, UnDiEdge]
32.  def LivePlayers: List[Player]
33.  def LocalEvents: ActorRef
34.  def LocalEvents_=(bus: ActorRef): ActorRef
35.  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`

36.  def Players: List[Avatar]
37.  def PopulateBlockMap(): Unit
38.  def Population: ActorRef
39.  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 new pool is un-made; `false`, if the new pool can not be removed because the system has already been started

    See also

      `NumberPoolHub.RemovePool`

40.  def SetupNumberPools(): Unit
41.  def SpawnGroups(spawns: (Building, List[SpawnPoint])): Map[Building, List[SpawnPoint]]
42.  def SpawnGroups(buildingId: Int): List[SpawnPoint]
43.  def SpawnGroups(building: Building): List[SpawnPoint]
44.  def SpawnGroups(): Map[Building, List[SpawnPoint]]
45.  def StartPlayerManagementSystems(): Unit
46.  def StopPlayerManagementSystems(): Unit
47.  def Transport: ActorRef
48.  def VehicleEvents: ActorRef
49.  def VehicleEvents_=(bus: ActorRef): ActorRef
50.  def Vehicles: List[Vehicle]
51.  var actor: ActorRef[Command]

    Governs general synchronized external requests.

52.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
53.  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` desiredSpanSize`of 100m divides the blockmap into 8100 sectors. A` desiredSpanSize`of 50m divides the blockmap into 32041 sectors.``

54.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
55.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
56.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
57.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
58.  def findNearestSpawnPoints(faction: types.PlanetSideEmpire.Value, location: Vector3, spawnGroups: Seq[SpawnGroup]): Option[List[SpawnPoint]]
59.  def findSpawns(faction: types.PlanetSideEmpire.Value, spawnGroups: Seq[SpawnGroup]): List[(AmenityOwner, Iterable[SpawnPoint])]
60.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
61.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
62.  val id: String
63.  def init(implicit context: ActorContext): Unit

    Establish the basic accessible conditions necessary for a functional `Zone`.
    Called from the `Actor` that governs this `Zone` when it is passed a constructor reference to the `Zone`.

    Establish the basic accessible conditions necessary for a functional `Zone`.
    Called from the `Actor` that governs this `Zone` when it is passed a constructor reference to the `Zone`. Specifically, the order of calling follows: `InterstellarCluster.preStart -> ZoneActor.receive(Zone.Init()) -> Zone.Init`. The basic method performs three main operations. First, the `Actor`-driven aspect of the globally unique identifier system for this `Zone` is finalized. Second, all supporting `Actor` agents are created, e.g., `ground`. Third, the `ZoneMap` server objects are loaded and constructed within that aforementioned system. To avoid being called more than once, there is a test whether the `accessor` for 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 for `Props`

    See also

      `ZoneActor.ZoneSetupCheck`

64.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
65.  val map: ZoneMap
66.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
67.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
68.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
69.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
70.  def tasks: ActorRef
71.  def toString(): String
    Definition Classes
      AnyRef → Any
72.  def validate(): Unit
73.  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

74.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
75.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
76.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()
77.  def zipLinePaths: List[ZipLinePath]

### Inherited from AnyRef

### Inherited from Any

### Ungrouped