PSF-LoginServer/net/psforever/objects/zones/ZoneMap.html

20 lines
60 KiB
HTML
Raw Normal View History

<!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.objects.zones.ZoneMap</title><meta content="PSF - LoginServer - master - net.psforever.objects.zones.ZoneMap" name="description"/><meta content="PSF LoginServer master net.psforever.objects.zones.ZoneMap" 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.objects" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="objects"></a><a id="objects:objects"></a> <span class="permalink"><a href="../../../../net/psforever/objects/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">objects</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.objects.zones" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="zones"></a><a id="zones:zones"></a> <span class="permalink"><a href="../../../../net/psforever/objects/zones/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">zones</span></a></span><div cl
<br>
Asides from a <code>List</code> of server objects to be built, the operation between any server objects
and the connected functionality emerging from more complex data structures is codified by this object.
In the former case, all <code>Terminal</code> server objects for a <code>Zone</code> are to be defined herein.
In the latter case, the arrangement of server objects into groups called facilities is also to be defined herein.
Much like a <code>BasicDefinition</code> to an object, <code>ZoneMap</code> should not maintain mutable information for the companion <code>Zone</code>.
Use it as a blueprint.<br>
<br>
The "training zones" are the best example of the difference between a <code>ZoneMap</code> and a <code>Zone.</code>
("Course" will be used as an unofficial location and layout descriptor.)
<code>tzdrtr</code> is the Terran Republic driving course.
<code>tzdrvs</code> is the Vanu Sovereignty driving course.
While each course can have different objects and object states, i.e., a <code>Zone</code>,
both of these courses utilize the same basic server object layout because they are built from the same blueprint, i.e., a <code>ZoneMap</code>.
</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/objects/zones/ZoneMap.scala" target="_blank">ZoneMap.scala</a></dd><dt>See also</dt><dd><span class="cmt"><p><code>ServerObjectBuilder</code><br>
<code>LoadMapMessage</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.objects.zones.ZoneMap"><span>ZoneMap</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.objects.zones.ZoneMap#&lt;init&gt;" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="&lt;init&gt;(name:String):net.psforever.objects.zones.ZoneMap"></a><a id="&lt;init&gt;:ZoneMap"></a> <span class="permalink"><a href="../../../../net/psforever/objects/zones/ZoneMap.html#&lt;init&gt;(name:String):net.psforever.objects.zones.ZoneMap" 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">ZoneMap</span><span class="params">(<span name="name">name: <span name="scala.Predef.String" class="extype">String</span></span>)</span></span><p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">name</dt><dd class="cmt"><p>the privileged name that can be used as the first parameter in the packet <code>LoadMapMessage</code></p></dd></dl></div></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/objects/zones/ZoneMap.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/objects/zones/ZoneMap.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>
</p></div><dl class="paramcmts block"><dt class="param">id</dt><dd class="cmt"><p>the unique id that will be assigned to this entity</p></dd><dt class="param">constructor</dt><dd class="cmt"><p>the logic that initializes the emitted entity</p></dd><dt class="param">owningBuildingGuid</dt><dd class="cmt"><p>The guid of the building this object should belong to, if specified</p></dd><dt class="param">doorGuid</dt><dd class="cmt"><p>The guid of the door this object (typically a lock) should be linked to, if specified</p></dd><dt class="param">terminalGuid</dt><dd class="cmt"><p>The guid of the terminal this object (typically a spawn pad) should be linked to, if specified</p></dd><dt>returns</dt><dd class="cmt"><p>the current number of builders</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.zones.ZoneMap#areValidCoordinates" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="areValidCoordinates(coordinates:net.psforever.types.Vector3):Boolean"></a><a id="areValidCoordinates(Vector3):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/zones/ZoneMap.html#areValidCoordinates(coordinates:net.psforever.types.Vector3):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">areValidCoordinates</span><span class="params">(<span name="coordinates">coordinates: <a href="../../types/Vector3.html" name="net.psforever.types.Vector3" id="net.psforever.types.Vector3" class="extype">Vector3</a></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></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/objects/zones/ZoneMap.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="net.psforever.objects.zones.ZoneMap#cavern" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="cavern:Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/zones/ZoneMap.html#cavern:Boolean" 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">cavern</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></li><li class="indented0 " name="net.psforever.objects.zones.ZoneMap#checksum" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="checksum:Long"></a> <span class="permalink"><a href="../../../../net/psforever/objects/zones/ZoneMap.html#checksum:Long" 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">checksum</span><span class="result">: <span name="scala.Long" class="extype">Long</span></span></span></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/objects/zones/ZoneMap.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