PSF-LoginServer/net/psforever/services/CavernRotationService.html

69 lines
66 KiB
HTML

<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.services.CavernRotationService</title><meta content="PSF - LoginServer - master - net.psforever.services.CavernRotationService" name="description"/><meta content="PSF LoginServer master net.psforever.services.CavernRotationService" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../lib/index.js"></script><script type="text/javascript" src="../../../index.js"></script><script type="text/javascript" src="../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left">&lt;</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.services" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="services"></a><a id="services:services"></a> <span class="permalink"><a href="../../../net/psforever/services/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">services</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.account" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="account"></a><a id="account:account"></a> <span class="permalink"><a href="../../../net/psforever/services/account/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="account/index.html" title=""><span class="name">account</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.avatar" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="avatar"></a><a id="avatar:avatar"></a> <span class="permalink"><a href="../../../net/psforever/services/avatar/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="avatar/index.html" title=""><span class="name">avatar</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.chat" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="chat"></a><a id="chat:chat"></a> <span class="permalink"><a href="../../../net/psforever/services/chat/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="chat/index.html" title=""><span class="name">chat</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.galaxy" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="galaxy"></a><a id="galaxy:galaxy"></a> <span class="permalink"><a href="../../../net/psforever/services/galaxy/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="galaxy/index.html" title=""><span class="name">galaxy</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.hart" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hart"></a><a id="hart:hart"></a> <span class="permalink"><a href="../../../net/psforever/services/hart/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="hart/index.html" title=""><span class="name">hart</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.local" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="local"></a><a id="local:local"></a> <span class="permalink"><a href="../../../net/psforever/services/local/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="local/index.html" title=""><span class="name">local</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.properties" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="properties"></a><a id="properties:properties"></a> <span class="permalink"><a href="../../../net/psforever/services/properties/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="properties/index.html" title=""><span class="name">properties</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.support" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="support"></a><a id="support:support"></a> <span class="permalink"><a href="../../../net/psforever/services/support/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="support/index.html" title=""><span class="name">support</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.teamwork" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="teamwork"></a><a id="teamwork:teamwork"></a> <span class="permalink"><a href="../../../net/psforever/services/teamwork/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="teamwork/index.html" title=""><span class="name">teamwork</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.vehicle" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="vehicle"></a><a id="vehicle:vehicle"></a> <span class="permalink"><a href="../../../net/psforever/services/vehicle/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="vehicle/index.html" title=""><span class="name">vehicle</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></dd></dl></div></li><li class="current-entities indented3"><a href="CavernRotationService$.html" title="" class="object"></a> <a href="" title="A service that assists routine access to a series of game zones through the manipulation of connections between transmit point structures. The caverns were a group of game zones that were intended to be situated underground." class="class"></a><a href="" title="A service that assists routine access to a series of game zones through the manipulation of connections between transmit point structures. The caverns were a group of game zones that were intended to be situated underground.">CavernRotationService</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="GenericEventBus.html" title="" class="class"></a><a href="GenericEventBus.html" title="">GenericEventBus</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="GenericEventBusMsg.html" title="" class="trait"></a><a href="GenericEventBusMsg.html" title="">GenericEventBusMsg</a></li><li class="current-entities indented3"><a href="InterstellarClusterService$.html" title="" class="object"></a> <a href="InterstellarClusterService.html" title="" class="class"></a><a href="InterstellarClusterService.html" title="">InterstellarClusterService</a></li><li class="current-entities indented3"><a href="RemoverActor$.html" title="" class="object"></a> <a href="RemoverActor.html" title="The base class for a type of &quot;destruction Actor&quot; intended to be used for delaying object cleanup activity." class="class"></a><a href="RemoverActor.html" title="The base class for a type of &quot;destruction Actor&quot; intended to be used for delaying object cleanup activity.">RemoverActor</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="Service$.html" title="" class="object"></a><a href="Service$.html" title="">Service</a></li><li class="current-entities indented3"><a href="ServiceManager$.html" title="" class="object"></a> <a href="ServiceManager.html" title="" class="class"></a><a href="ServiceManager.html" title="">ServiceManager</a></li></ul></div></div><div id="content"><body class="class type"><div id="definition"><a href="CavernRotationService$.html" title="See companion object"><div class="big-circle class-companion-object">c</div></a><p id="owner"><a href="../../index.html" name="net" id="net" class="extype">net</a>.<a href="../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a>.<a href="index.html" name="net.psforever.services" id="net.psforever.services" class="extype">services</a></p><h1><a href="CavernRotationService$.html" title="See companion object">CavernRotationService</a><span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html" title="Permalink"><i class="material-icons"></i></a></span></h1><h3><span class="morelinks"><div>Companion <a href="CavernRotationService$.html" title="See companion object">object CavernRotationService</a></div></span></h3></div><h4 id="signature" class="signature"><span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><span class="name">CavernRotationService</span><span class="result"> extends <span name="scala.AnyRef" class="extype">AnyRef</span></span></span></h4><div id="comment" class="fullcommenttop"><div class="comment cmt"><p>A service that assists routine access to a series of game zones
through the manipulation of connections between transmit point structures.<br>
<br>
The caverns were a group of game zones that were intended to be situated underground.
Access to the caverns was only sometimes possible
through the use of special above-ground warp gates called geowarps (geowarp gates)
and those geowarps were not always functional.
Usually, two caverns were available at a time and connections to these caverns were fixed
to specific active geowarp gates.
The changing availability of the caverns through the change of geowarp gate activity
was colloquially referred to as a "rotation" since it followed a predictable cycle.
The cycle was not just one of time but one of route
as one specific geowarp gates would open to the same destination cavern.<br>
<br>
The client controls warp gate destinations.
The server can only confirm those destinations.
The connectivity of a geowarp gate to a cavern warp gate had to have been determined
by opening the cavern with an appropriate packet
and checking the map description of the cavern gates.
The description text explains which of the geowarp gates in whichever zone has been connected; and,
where usually static and inanimate, that geowarp gate will bubble online and begin to rotate
and have a complementary destination map description.
Opening different combinations of caverns changes the destination these warp gate pairs will connect
and not always being connected at all.
The warp gate pairs for the cavern connections must be re-evaluated for each combination and with each rotation
and all relevant pairings must be defined in advance.</p></div><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/services/CavernRotationService.scala" target="_blank">CavernRotationService.scala</a></dd><dt>See also</dt><dd><span class="cmt"><p><code>ActorContext</code></p></span><span class="cmt"><p><code>Building</code></p></span><span class="cmt"><p><code>ChatMsg</code></p></span><span class="cmt"><p><code>Config.app.game.cavernRotation</code></p></span><span class="cmt"><p><code>GalaxyService</code></p></span><span class="cmt"><p><code>GalaxyAction.LockedZoneUpdate</code></p></span><span class="cmt"><p><code>GalaxyResponse.UnlockedZoneUpdate</code></p></span><span class="cmt"><p><code>InterstellarClusterService</code></p></span><span class="cmt"><p><code>org.log4s.getLogger</code></p></span><span class="cmt"><p><code>resources/zonemaps/lattice.json</code></p></span><span class="cmt"><p><code>SessionActor</code></p></span><span class="cmt"><p><code>SessionActor.SendResponse</code></p></span><span class="cmt"><p><code>StashBuffer</code></p></span><span class="cmt"><p><code>WarpGate</code></p></span><span class="cmt"><p><code>Zone</code></p></span><span class="cmt"><p><code>ZoneForcedCavernConnectionsMessage</code></p></span><span class="cmt"><p><code>ZoneInfoMessage</code></p></span></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="net.psforever.services.CavernRotationService"><span>CavernRotationService</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="constructors" class="members"><h3>Instance Constructors</h3><ol><li class="indented0 " name="net.psforever.services.CavernRotationService#&lt;init&gt;" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="&lt;init&gt;(context:akka.actor.typed.scaladsl.ActorContext[net.psforever.services.CavernRotationService.Command],buffer:akka.actor.typed.scaladsl.StashBuffer[net.psforever.services.CavernRotationService.Command]):net.psforever.services.CavernRotationService"></a><a id="&lt;init&gt;:CavernRotationService"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#&lt;init&gt;(context:akka.actor.typed.scaladsl.ActorContext[net.psforever.services.CavernRotationService.Command],buffer:akka.actor.typed.scaladsl.StashBuffer[net.psforever.services.CavernRotationService.Command]):net.psforever.services.CavernRotationService" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">new</span></span> <span class="symbol"><span class="name">CavernRotationService</span><span class="params">(<span name="context">context: <span name="akka.actor.typed.scaladsl.ActorContext" class="extype">ActorContext</span>[<a href="CavernRotationService$$Command.html" name="net.psforever.services.CavernRotationService.Command" id="net.psforever.services.CavernRotationService.Command" class="extype">Command</a>]</span>, <span name="buffer">buffer: <span name="akka.actor.typed.scaladsl.StashBuffer" class="extype">StashBuffer</span>[<a href="CavernRotationService$$Command.html" name="net.psforever.services.CavernRotationService.Command" id="net.psforever.services.CavernRotationService.Command" class="extype">Command</a>]</span>)</span></span></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#active" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="active(galaxyService:akka.actor.ActorRef):akka.actor.typed.Behavior[net.psforever.services.CavernRotationService.Command]"></a><a id="active(ActorRef):Behavior[Command]"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#active(galaxyService:akka.actor.ActorRef):akka.actor.typed.Behavior[net.psforever.services.CavernRotationService.Command]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">active</span><span class="params">(<span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="akka.actor.typed.Behavior" class="extype">Behavior</span>[<a href="CavernRotationService$$Command.html" name="net.psforever.services.CavernRotationService.Command" id="net.psforever.services.CavernRotationService.Command" class="extype">Command</a>]</span></span></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#asInstanceOf[T0]:T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object"></a><a id="clone():AnyRef"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">clone</span><span class="params">()</span><span class="result">: <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#eq(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#equals" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="equals(x$1:Object):Boolean"></a><a id="equals(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#equals(x$1:Object):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="finalize():Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#finalize():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">finalize</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="symbol">classOf[java.lang.Throwable]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#firstClosingWarningAtMinutes" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="firstClosingWarningAtMinutes:Int"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#firstClosingWarningAtMinutes:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">firstClosingWarningAtMinutes</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">how long before any given cavern closure that the first closing message is shown (minutes)</p></li><li class="indented0 " name="scala.AnyRef#getClass" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="getClass():Class[_]"></a><a id="getClass():Class[_&lt;:AnyRef]"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#getClass():Class[_]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">getClass</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#java.lang.Class" name="java.lang.Class" id="java.lang.Class" class="extype">Class</a>[_ &lt;: <span name="scala.AnyRef" class="extype">AnyRef</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#hashCode" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hashCode():Int"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#hashCode():Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">hashCode</span><span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#hurryNextRotation" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hurryNextRotation(galaxyService:akka.actor.ActorRef,forcedRotationOverride:Boolean):Unit"></a><a id="hurryNextRotation(ActorRef,Boolean):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#hurryNextRotation(galaxyService:akka.actor.ActorRef,forcedRotationOverride:Boolean):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">hurryNextRotation</span><span class="params">(<span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>, <span name="forcedRotationOverride">forcedRotationOverride: <span name="scala.Boolean" class="extype">Boolean</span> = <span class="symbol">false</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Progress to the next significant cavern rotation event.<br>
<br>
If the time until the next rotation is greater than the time where the cavern closing warning would be displayed,
progress to that final cavern closing warning.</p><div class="fullcomment"><div class="comment cmt"><p>Progress to the next significant cavern rotation event.<br>
<br>
If the time until the next rotation is greater than the time where the cavern closing warning would be displayed,
progress to that final cavern closing warning.
Adjust the timing for that advancement.
If the final cavern closing warning was already displayed,
just perform the cavern rotation.</p></div><dl class="paramcmts block"><dt class="param">galaxyService</dt><dd class="cmt"><p>callback to update the server and clients;
should be the reference to <code>GalaxyService</code>, hence the literal name</p></dd><dt class="param">forcedRotationOverride</dt><dd class="cmt"><p>force a cavern rotation in a case where a closing warning would be displayed instead</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>GalaxyService</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#hurryRotationToZoneLock" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hurryRotationToZoneLock(zoneid:String,galaxyService:akka.actor.ActorRef):Boolean"></a><a id="hurryRotationToZoneLock(String,ActorRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#hurryRotationToZoneLock(zoneid:String,galaxyService:akka.actor.ActorRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">hurryRotationToZoneLock</span><span class="params">(<span name="zoneid">zoneid: <span name="scala.Predef.String" class="extype">String</span></span>, <span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">na</p><div class="fullcomment"><div class="comment cmt"><p>na</p></div><dl class="paramcmts block"><dt class="param">zoneid</dt><dd class="cmt"><p>zone to lock next</p></dd><dt class="param">galaxyService</dt><dd class="cmt"><p>callback to update the server and clients;
should be the reference to <code>GalaxyService</code>, hence the literal name</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the target zone is locked when complete;
<code>false</code>, otherwise</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>GalaxyService</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#hurryRotationToZoneUnlock" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hurryRotationToZoneUnlock(zoneid:String,galaxyService:akka.actor.ActorRef):Boolean"></a><a id="hurryRotationToZoneUnlock(String,ActorRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#hurryRotationToZoneUnlock(zoneid:String,galaxyService:akka.actor.ActorRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">hurryRotationToZoneUnlock</span><span class="params">(<span name="zoneid">zoneid: <span name="scala.Predef.String" class="extype">String</span></span>, <span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">na</p><div class="fullcomment"><div class="comment cmt"><p>na</p></div><dl class="paramcmts block"><dt class="param">zoneid</dt><dd class="cmt"><p>zone to unlock next</p></dd><dt class="param">galaxyService</dt><dd class="cmt"><p>callback to update the server and clients;
should be the reference to <code>GalaxyService</code>, hence the literal name</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the target zone is unlocked when complete;
<code>false</code>, otherwise</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>GalaxyService</code></p></span></dd></dl></div></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#isInstanceOf[T0]:Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#lockTimer" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="lockTimer:akka.actor.Cancellable"></a><a id="lockTimer:Cancellable"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#lockTimer:akka.actor.Cancellable" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">lockTimer</span><span class="result">: <span name="akka.actor.Cancellable" class="extype">Cancellable</span></span></span><p class="shortcomment cmt">timer for cavern rotation - the cavern closing warning</p></li><li class="indented0 " name="net.psforever.services.CavernRotationService#lockTimerToDisplayWarning" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="lockTimerToDisplayWarning(duration:scala.concurrent.duration.FiniteDuration,counter:Int):Unit"></a><a id="lockTimerToDisplayWarning(FiniteDuration,Int):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#lockTimerToDisplayWarning(duration:scala.concurrent.duration.FiniteDuration,counter:Int):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">lockTimerToDisplayWarning</span><span class="params">(<span name="duration">duration: <span name="scala.concurrent.duration.FiniteDuration" class="extype">FiniteDuration</span></span>, <span name="counter">counter: <span name="scala.Int" class="extype">Int</span> = <span class="symbol"><span class="name"><a href="#firstClosingWarningAtMinutes:Int">firstClosingWarningAtMinutes</a></span></span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Update the timer for the cavern closing message.</p><div class="fullcomment"><div class="comment cmt"><p>Update the timer for the cavern closing message.</p></div><dl class="paramcmts block"><dt class="param">duration</dt><dd class="cmt"><p>new time until message display</p></dd><dt class="param">counter</dt><dd class="cmt"><p>the counter that indicates the next message to display</p></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#manageCaverns" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="manageCaverns(zones:Seq[net.psforever.objects.zones.Zone]):Boolean"></a><a id="manageCaverns(Seq[Zone]):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#manageCaverns(zones:Seq[net.psforever.objects.zones.Zone]):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">manageCaverns</span><span class="params">(<span name="zones">zones: <span name="scala.Seq" class="extype">Seq</span>[<a href="../objects/zones/Zone.html" name="net.psforever.objects.zones.Zone" id="net.psforever.objects.zones.Zone" class="extype">Zone</a>]</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">na</p><div class="fullcomment"><div class="comment cmt"><p>na</p></div><dl class="paramcmts block"><dt class="param">zones</dt><dd class="cmt"><p>the zones for submission</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the setup has been completed;
<code>false</code>, otherwise</p></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#managedZones" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="managedZones:List[net.psforever.services.CavernRotationService.ZoneMonitor]"></a><a id="managedZones:List[ZoneMonitor]"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#managedZones:List[net.psforever.services.CavernRotationService.ZoneMonitor]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">managedZones</span><span class="result">: <span name="scala.List" class="extype">List</span>[<a href="CavernRotationService$$ZoneMonitor.html" name="net.psforever.services.CavernRotationService.ZoneMonitor" id="net.psforever.services.CavernRotationService.ZoneMonitor" class="extype">ZoneMonitor</a>]</span></span><p class="shortcomment cmt">monitors for the cavern zones</p></li><li class="indented0 " name="scala.AnyRef#ne" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#ne(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#nextToLock" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="nextToLock:Int"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#nextToLock:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">nextToLock</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">index of the next cavern that will lock</p></li><li class="indented0 " name="net.psforever.services.CavernRotationService#nextToUnlock" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="nextToUnlock:Int"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#nextToUnlock:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">nextToUnlock</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">index of the next cavern that will unlock</p></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#notify():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notify</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#notifyAll():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#reportRotationOrder" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="reportRotationOrder(sendToSession:akka.actor.ActorRef):Unit"></a><a id="reportRotationOrder(ActorRef):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#reportRotationOrder(sendToSession:akka.actor.ActorRef):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">reportRotationOrder</span><span class="params">(<span name="sendToSession">sendToSession: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">na</p><div class="fullcomment"><div class="comment cmt"><p>na</p></div><dl class="paramcmts block"><dt class="param">sendToSession</dt><dd class="cmt"><p>callback reference</p></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#retimeZonesUponForcedAdvancement" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="retimeZonesUponForcedAdvancement(advanceTimeBy:scala.concurrent.duration.FiniteDuration,galaxyService:akka.actor.ActorRef):Unit"></a><a id="retimeZonesUponForcedAdvancement(FiniteDuration,ActorRef):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#retimeZonesUponForcedAdvancement(advanceTimeBy:scala.concurrent.duration.FiniteDuration,galaxyService:akka.actor.ActorRef):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">retimeZonesUponForcedAdvancement</span><span class="params">(<span name="advanceTimeBy">advanceTimeBy: <span name="scala.concurrent.duration.FiniteDuration" class="extype">FiniteDuration</span></span>, <span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">If the natural process of switching between caverns is hurried,
advance the previous start time of each zone monitor to give the impression of the hastened rotation.</p><div class="fullcomment"><div class="comment cmt"><p>If the natural process of switching between caverns is hurried,
advance the previous start time of each zone monitor to give the impression of the hastened rotation.
This does not actually affect the functional timers
nor is it in response to an actual zone rotation event.
It only affects the backup parameters of the timers that are maintained by the zone monitors.</p></div><dl class="paramcmts block"><dt class="param">advanceTimeBy</dt><dd class="cmt"><p>amount of time advancement</p></dd><dt class="param">galaxyService</dt><dd class="cmt"><p>callback to update the zone timers;
should be the reference to <code>GalaxyService</code>, hence the literal name</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>GalaxyService</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#retimeZonesUponForcedRotation" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="retimeZonesUponForcedRotation(galaxyService:akka.actor.ActorRef):Unit"></a><a id="retimeZonesUponForcedRotation(ActorRef):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#retimeZonesUponForcedRotation(galaxyService:akka.actor.ActorRef):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">retimeZonesUponForcedRotation</span><span class="params">(<span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">If the zones are forced to rotate before the timer would normally complete,
correct all of the zone monitors to give the impression of the rotation that occurred.</p><div class="fullcomment"><div class="comment cmt"><p>If the zones are forced to rotate before the timer would normally complete,
correct all of the zone monitors to give the impression of the rotation that occurred.
Only affect the backup parameters of the timers that are maintained by the zone monitors.
Do not actually affect the functional timers.</p></div><dl class="paramcmts block"><dt class="param">galaxyService</dt><dd class="cmt"><p>callback to update the zone timers;
should be the reference to <code>GalaxyService</code>, hence the literal name</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>GalaxyService</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#sendCavernRotationUpdates" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="sendCavernRotationUpdates(sendToSession:akka.actor.ActorRef):Unit"></a><a id="sendCavernRotationUpdates(ActorRef):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#sendCavernRotationUpdates(sendToSession:akka.actor.ActorRef):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">sendCavernRotationUpdates</span><span class="params">(<span name="sendToSession">sendToSession: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">sendToSession</dt><dd class="cmt"><p>callback reference</p></dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#simultaneousUnlockedZones" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="simultaneousUnlockedZones:Int"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#simultaneousUnlockedZones:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">simultaneousUnlockedZones</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="net.psforever.services.CavernRotationService#start" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="start():akka.actor.typed.Behavior[net.psforever.services.CavernRotationService.Command]"></a><a id="start():Behavior[Command]"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#start():akka.actor.typed.Behavior[net.psforever.services.CavernRotationService.Command]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">start</span><span class="params">()</span><span class="result">: <span name="akka.actor.typed.Behavior" class="extype">Behavior</span>[<a href="CavernRotationService$$Command.html" name="net.psforever.services.CavernRotationService.Command" id="net.psforever.services.CavernRotationService.Command" class="extype">Command</a>]</span></span></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=&gt;T0):T0"></a><a id="synchronized[T0](=&gt;T0):T0"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#synchronized[T0](x$1:=&gt;T0):T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: =&gt; <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#timeBetweenRotationsHours" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="timeBetweenRotationsHours:Float"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#timeBetweenRotationsHours:Float" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">timeBetweenRotationsHours</span><span class="result">: <span name="scala.Float" class="extype">Float</span></span></span><p class="shortcomment cmt">time between individual cavern rotation events (hours)</p></li><li class="indented0 " name="net.psforever.services.CavernRotationService#timeToCompleteAllRotationsHours" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="timeToCompleteAllRotationsHours:Float"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#timeToCompleteAllRotationsHours:Float" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">timeToCompleteAllRotationsHours</span><span class="result">: <span name="scala.Float" class="extype">Float</span></span></span><p class="shortcomment cmt">period of all caverns having rotated (hours)</p></li><li class="indented0 " name="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#toString():String" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">toString</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#unlockTimer" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="unlockTimer:akka.actor.Cancellable"></a><a id="unlockTimer:Cancellable"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#unlockTimer:akka.actor.Cancellable" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">var</span></span> <span class="symbol"><span class="name">unlockTimer</span><span class="result">: <span name="akka.actor.Cancellable" class="extype">Cancellable</span></span></span><p class="shortcomment cmt">timer for cavern rotation - the actual opening and closing functionality</p></li><li class="indented0 " name="net.psforever.services.CavernRotationService#unlockTimerToSwitchZone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="unlockTimerToSwitchZone(duration:scala.concurrent.duration.FiniteDuration):Unit"></a><a id="unlockTimerToSwitchZone(FiniteDuration):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#unlockTimerToSwitchZone(duration:scala.concurrent.duration.FiniteDuration):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">unlockTimerToSwitchZone</span><span class="params">(<span name="duration">duration: <span name="scala.concurrent.duration.FiniteDuration" class="extype">FiniteDuration</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Update the timer for the zone switching process.</p><div class="fullcomment"><div class="comment cmt"><p>Update the timer for the zone switching process.</p></div><dl class="paramcmts block"><dt class="param">duration</dt><dd class="cmt"><p>new time until switching</p></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#wait():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#wait(x$1:Long):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.services.CavernRotationService#zoneRotationFunc" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="zoneRotationFunc(galaxyService:akka.actor.ActorRef):Unit"></a><a id="zoneRotationFunc(ActorRef):Unit"></a> <span class="permalink"><a href="../../../net/psforever/services/CavernRotationService.html#zoneRotationFunc(galaxyService:akka.actor.ActorRef):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">zoneRotationFunc</span><span class="params">(<span name="galaxyService">galaxyService: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Actually perform zone rotation as determined by the managed zone monitors and the timers.<br>
<br>
The process of zone rotation occurs by having a zone that is determined to be closing
and a zone that is determied to be opening
and a potential series of zones "in between" the two that are also open.</p><div class="fullcomment"><div class="comment cmt"><p>Actually perform zone rotation as determined by the managed zone monitors and the timers.<br>
<br>
The process of zone rotation occurs by having a zone that is determined to be closing
and a zone that is determied to be opening
and a potential series of zones "in between" the two that are also open.
All of the currently opened zones are locked and the zone to be permanently closed is forgotten.
The zone that should be opening is added to the aforementioned sequence of zones
and then the zones in that sequence are opened.
The zones that would otherwise be unaffected by a single zone opening and a single cone closing must be affected
because the cavern gates will not connect to the same geowarp gates with the change in the sequence.
After the rotation, the indices to the next closing zone and next opening zone are updated.
Modifying the zone monitor timekeeping and the actual timers and the indices are the easy parts.</p></div><dl class="paramcmts block"><dt class="param">galaxyService</dt><dd class="cmt"><p>callback to update the server and clients;
should be the reference to <code>GalaxyService</code>, hence the literal name</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>GalaxyService</code></p></span></dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="scala.AnyRef" class="parent"><h3>Inherited from <span name="scala.AnyRef" class="extype">AnyRef</span></h3></div><div name="scala.Any" class="parent"><h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3></div></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>