PSF-LoginServer/net/psforever/objects/inventory/InventoryEquipmentSlot.html

23 lines
43 KiB
HTML
Raw Permalink 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.inventory.InventoryEquipmentSlot</title><meta content="PSF - LoginServer - master - net.psforever.objects.inventory.InventoryEquipmentSlot" name="description"/><meta content="PSF LoginServer master net.psforever.objects.inventory.InventoryEquipmentSlot" 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_" class="anchorToMember"></a><a id="root:_root_" class="anchorToMember"></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" class="anchorToMember"></a><a id="net:net" class="anchorToMember"></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" class="anchorToMember"></a><a id="psforever:psforever" class="anchorToMember"></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" class="anchorToMember"></a><a id="objects:objects" class="anchorToMember"></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.inventory" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="inventory" class="anchorToMember"></a><a id="inventory:inventory" class="anchorToMember"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/index.html" title="Permal
The size is typically bound to anything that can be stowed which encompasses most all <code>Equipment</code>.
The capacity of this <code>EquipmentSlot</code> is essentially treated as 1x1.
Upon insertions, however, the capacity temporarily is treated as the size of the item being inserted (unless <code>None</code>).
This allows a proper check for insertion collision.<br>
<br>
Rather than operating on a fixed-size slot, this "slot" represents an inventory region that either includes <code>slot</code> or starts at <code>slot</code>.
When determining the contents of the inventory at <code>slot</code>, only that singular cell is checked.
When removing an item from <code>slot</code>, the item in inventory only has to be positioned in such a way that overlaps with <code>slot</code>.
When adding an item to <code>slot</code>, <code>slot</code> is treated as the upper left corner (the initial point) of a larger capacity region.<br>
<br>
The following diagrams demonstrate the coordinate association:<br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - r r x - &nbsp;&nbsp;&nbsp; - - - - -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - s - - &nbsp;&nbsp;&nbsp; - r r x - &nbsp;&nbsp;&nbsp; - - i i -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - x x x - &nbsp;&nbsp;&nbsp; - - i i -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - -</code><br>
... where 's' is the 1x1 slot,
'r' is the corner of any 2x2 item that can be removed ('x' is a potential affected edge),
and 'i' is the region checked for a 2x2 insertion into <code>slot</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/inventory/InventoryEquipmentSlot.scala" target="_blank">InventoryEquipmentSlot.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><a href="../OffhandEquipmentSlot.html" name="net.psforever.objects.OffhandEquipmentSlot" id="net.psforever.objects.OffhandEquipmentSlot" class="extype">OffhandEquipmentSlot</a>, <a href="../equipment/EquipmentSlot.html" name="net.psforever.objects.equipment.EquipmentSlot" id="net.psforever.objects.equipment.EquipmentSlot" class="extype">EquipmentSlot</a>, <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.inventory.InventoryEquipmentSlot"><span>InventoryEquipmentSlot</span></li><li class="in" name="net.psforever.objects.OffhandEquipmentSlot"><span>OffhandEquipmentSlot</span></li><li class="in" name="net.psforever.objects.equipment.EquipmentSlot"><span>EquipmentSlot</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.inventory.InventoryEquipmentSlot#&lt;init&gt;" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="&lt;init&gt;(slot:Int,inv:net.psforever.objects.inventory.GridInventory):net.psforever.objects.inventory.InventoryEquipmentSlot" class="anchorToMember"></a><a id="&lt;init&gt;:InventoryEquipmentSlot" class="anchorToMember"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryEquipmentSlot.html#&lt;init&gt;(slot:Int,inv:net.psforever.objects.inventory.GridInventory):net.psforever.objects.inventory.InventoryEquipmentSlot" 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">InventoryEquipmentSlot</span><span class="params">(<span name="slot">slot: <span name="scala.Int" class="extype">Int</span></span>, <span name="inv">inv: <a href="GridInventory.html" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</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" class="anchorToMember"></a><a id="!=(Any):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryEquipmentSlot.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <sp