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

85 lines
89 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.objects.inventory.GridInventory</title><meta content="PSF - LoginServer - master - net.psforever.objects.inventory.GridInventory" name="description"/><meta content="PSF LoginServer master net.psforever.objects.inventory.GridInventory" 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.inventory" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="inventory"></a><a id="inventory:inventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/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">inventory</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="current-entities indented4"><span class="separator"></span> <a href="Container.html" title="This object is capable of storing (&quot;stowing&quot;) Equipment within itself. The following objects are considered item containers: players (their own inventory), players (their corpse's loot), vehicles (their trunk), and lockers (contents of the player's fifth slot)." class="trait"></a><a href="Container.html" title="This object is capable of storing (&quot;stowing&quot;) Equipment within itself. The following objects are considered item containers: players (their own inventory), players (their corpse's loot), vehicles (their trunk), and lockers (contents of the player's fifth slot).">Container</a></li><li class="current-entities indented4"><a href="GridInventory$.html" title="" class="object"></a> <a href="" title="An inventory are used to stow Equipment when it does not exist visually in the game world. Visually, an inventory is understood as a rectangular region divided into cellular units." class="class"></a><a href="" title="An inventory are used to stow Equipment when it does not exist visually in the game world. Visually, an inventory is understood as a rectangular region divided into cellular units.">GridInventory</a></li><li class="current-entities indented4"><a href="InventoryDisarrayException$.html" title="" class="object"></a> <a href="InventoryDisarrayException.html" title="Some data in the grid portion of a GridInventory does not match against data that is expected to be found in the &quot;list&quot; portion of GridInventory." class="class"></a><a href="InventoryDisarrayException.html" title="Some data in the grid portion of a GridInventory does not match against data that is expected to be found in the &quot;list&quot; portion of GridInventory.">InventoryDisarrayException</a></li><li class="current-entities indented4"><span class="separator"></span> <a href="InventoryEquipmentSlot.html" title="A slot-like interface for a specific grid position in an inventory." class="class"></a><a href="InventoryEquipmentSlot.html" title="A slot-like interface for a specific grid position in an inventory.">InventoryEquipmentSlot</a></li><li class="current-entities indented4"><a href="InventoryItem$.html" title="" class="object"></a> <a href="InventoryItem.html" title="Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory." class="class"></a><a href="InventoryItem.html" title="Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory.">InventoryItem</a></li><li class="current-entities indented4"><a href="InventoryTile$.html" title="" class="object"></a> <a href="InventoryTile.html" title="A &quot;tile&quot; represents the size of the icon placard that is used by Equipment when placed into an inventory or visible slot." class="class"></a><a href="InventoryTile.html" title="A &quot;tile&quot; represents the size of the icon placard that is used by Equipment when placed into an inventory or visible slot.">InventoryTile</a></li><li class="current-entities indented4"><span class="separator"></span> <a href="LocallyRegisteredInventory.html" title="An inventory that contains its own internal unique number system bound by a domain of numbers." class="class"></a><a href="LocallyRegisteredInventory.html" title="An inventory that contains its own internal unique number system bound by a domain of numbers.">LocallyRegisteredInventory</a></li></ul></div></div><div id="content"><body class="class type"><div id="definition"><a href="GridInventory$.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.objects" id="net.psforever.objects" class="extype">objects</a>.<a href="index.html" name="net.psforever.objects.inventory" id="net.psforever.objects.inventory" class="extype">inventory</a></p><h1><a href="GridInventory$.html" title="See companion object">GridInventory</a><span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html" title="Permalink"><i class="material-icons"></i></a></span></h1><h3><span class="morelinks"><div>Companion <a href="GridInventory$.html" title="See companion object">object GridInventory</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">GridInventory</span><span class="result"> extends <a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></span></span></h4><div id="comment" class="fullcommenttop"><div class="comment cmt"><p>An inventory are used to stow <code>Equipment</code> when it does not exist visually in the game world.<br>
<br>
Visually, an inventory is understood as a rectangular region divided into cellular units.
The <code>Equipment</code> that is placed into the inventory can also be represented as smaller rectangles, also composed of cells.
The same number of cells of the item must overlap with the same number of cells of the inventory.
No two items may have cells that overlap.
This "grid" maintains a spatial distinction between items when they get stowed.<br>
<br>
It is not necessary to actually have a structural representation of the "grid."
Adhering to such a data structure does speed up the actions upon the inventory and its contents in certain cases (where noted).
The <code>HashMap</code> of items is used for quick object lookup.
Use of the <code>HashMap</code> only is hitherto referred as "using the inventory as a <code>List</code>."
The <code>Array</code> of spatial GUIDs is used for quick collision lookup.
Use of the <code>Array</code> only is hitherto referred as "using the inventory as a grid."
</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/GridInventory.scala" target="_blank">GridInventory.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a>, <span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div><div class="toggleContainer"><div class="toggle block"><span>Known Subclasses</span><div class="subClasses hiddenContent"><a href="LocallyRegisteredInventory.html" name="net.psforever.objects.inventory.LocallyRegisteredInventory" id="net.psforever.objects.inventory.LocallyRegisteredInventory" class="extype">LocallyRegisteredInventory</a></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.GridInventory"><span>GridInventory</span></li><li class="in" name="net.psforever.objects.inventory.Container"><span>Container</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.GridInventory#&lt;init&gt;" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="&lt;init&gt;():net.psforever.objects.inventory.GridInventory"></a><a id="&lt;init&gt;:GridInventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#&lt;init&gt;():net.psforever.objects.inventory.GridInventory" 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">GridInventory</span><span class="params">()</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/objects/inventory/GridInventory.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/inventory/GridInventory.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="net.psforever.objects.inventory.GridInventory#+=" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="+=(kv:(Int,net.psforever.objects.equipment.Equipment)):Boolean"></a><a id="+=((Int,Equipment)):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#+=(kv:(Int,net.psforever.objects.equipment.Equipment)):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" title="gt4s: $plus$eq">+=</span><span class="params">(<span name="kv">kv: (<span name="scala.Int" class="extype">Int</span>, <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a>)</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#-=" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="-=(guid:net.psforever.types.PlanetSideGUID):Boolean"></a><a id="-=(PlanetSideGUID):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#-=(guid:net.psforever.types.PlanetSideGUID):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" title="gt4s: $minus$eq">-=</span><span class="params">(<span name="guid">guid: <a href="../../types/PlanetSideGUID.html" name="net.psforever.types.PlanetSideGUID" id="net.psforever.types.PlanetSideGUID" class="extype">PlanetSideGUID</a></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#-=" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="-=(index:Int):Boolean"></a><a id="-=(Int):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#-=(index:Int):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" title="gt4s: $minus$eq">-=</span><span class="params">(<span name="index">index: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></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/objects/inventory/GridInventory.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.objects.inventory.GridInventory#Capacity" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Capacity:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Capacity: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">Capacity</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">Capacity is a measure how many squares in the grid inventory are unused (value of -1).</p><div class="fullcomment"><div class="comment cmt"><p>Capacity is a measure how many squares in the grid inventory are unused (value of -1).
It does not guarantee the cells are distributed in any configuration conductive to item stowing.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the number of free cells</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#CheckCollisions" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CheckCollisions(start:Int,w:Int,h:Int):scala.util.Try[List[Int]]"></a><a id="CheckCollisions(Int,Int,Int):Try[List[Int]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#CheckCollisions(start:Int,w:Int,h:Int):scala.util.Try[List[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">CheckCollisions</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.util.Try" class="extype">Try</span>[<span name="scala.List" class="extype">List</span>[<span name="scala.Int" class="extype">Int</span>]]</span></span><p class="shortcomment cmt">Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.</p><div class="fullcomment"><div class="comment cmt"><p>Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the cell index to test this <code>Equipment</code> for insertion</p></dd><dt class="param">w</dt><dd class="cmt"><p>the width of the <code>Equipment</code> to be tested</p></dd><dt class="param">h</dt><dd class="cmt"><p>the height of the <code>Equipment</code> to be tested</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of GUID values for all existing contents that this item would overlap if inserted</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#CheckCollisions" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CheckCollisions(start:Int,item:net.psforever.objects.equipment.Equipment):scala.util.Try[List[Int]]"></a><a id="CheckCollisions(Int,Equipment):Try[List[Int]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#CheckCollisions(start:Int,item:net.psforever.objects.equipment.Equipment):scala.util.Try[List[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">CheckCollisions</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="item">item: <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a></span>)</span><span class="result">: <span name="scala.util.Try" class="extype">Try</span>[<span name="scala.List" class="extype">List</span>[<span name="scala.Int" class="extype">Int</span>]]</span></span><p class="shortcomment cmt">Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
A "collision" is considered a situation where the stowed placards of two items would overlap in some way.</p><div class="fullcomment"><div class="comment cmt"><p>Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
A "collision" is considered a situation where the stowed placards of two items would overlap in some way.
The grid keeps track of the location of items by storing the primitive of their GUID in one or more cells.
Two primitives can not be stored in the same cell.
If placing two items into the same inventory leads to a situation where two primitive values might be in the same cell,
that is a collision.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the cell index to test this <code>Equipment</code> for insertion</p></dd><dt class="param">item</dt><dd class="cmt"><p>the <code>Equipment</code> to be tested</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of GUID values for all existing contents that this item would overlap if inserted</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#CheckCollisionsAsGrid" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CheckCollisionsAsGrid(start:Int,w:Int,h:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]"></a><a id="CheckCollisionsAsGrid(Int,Int,Int):Try[List[InventoryItem]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#CheckCollisionsAsGrid(start:Int,w:Int,h:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]" 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">CheckCollisionsAsGrid</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.util.Try" class="extype">Try</span>[<span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]]</span></span><p class="shortcomment cmt">Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
Iterate over all cells that would be occupied by a new value and check each one whether or not that cell has an existing value.</p><div class="fullcomment"><div class="comment cmt"><p>Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
Iterate over all cells that would be occupied by a new value and check each one whether or not that cell has an existing value.
This is a "using the inventory as a grid" method.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the cell index to test this <code>Equipment</code> for insertion</p></dd><dt class="param">w</dt><dd class="cmt"><p>the width of the <code>Equipment</code> to be tested</p></dd><dt class="param">h</dt><dd class="cmt"><p>the height of the <code>Equipment</code> to be tested</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of existing items that an item of this scale would overlap if inserted</p></dd></dl><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IndexOutOfBoundsException" class="extype"><code>IndexOutOfBoundsException</code></span> if the region extends outside of the grid boundaries</p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#CheckCollisionsAsList" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CheckCollisionsAsList(start:Int,w:Int,h:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]"></a><a id="CheckCollisionsAsList(Int,Int,Int):Try[List[InventoryItem]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#CheckCollisionsAsList(start:Int,w:Int,h:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]" 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">CheckCollisionsAsList</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.util.Try" class="extype">Try</span>[<span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]]</span></span><p class="shortcomment cmt">Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
Iterate over all stowed items and check each one whether or not it overlaps with the given region.</p><div class="fullcomment"><div class="comment cmt"><p>Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
Iterate over all stowed items and check each one whether or not it overlaps with the given region.
This is a "using the inventory as a <code>List</code>" method.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the cell index to test this <code>Equipment</code> for insertion</p></dd><dt class="param">w</dt><dd class="cmt"><p>the width of the <code>Equipment</code> to be tested</p></dd><dt class="param">h</dt><dd class="cmt"><p>the height of the <code>Equipment</code> to be tested</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of existing items that an item of this scale would overlap if inserted</p></dd></dl><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IndexOutOfBoundsException" class="extype"><code>IndexOutOfBoundsException</code></span> if the region extends outside of the grid boundaries</p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#CheckCollisionsVar" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CheckCollisionsVar(start:Int,w:Int,h:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]"></a><a id="CheckCollisionsVar(Int,Int,Int):Try[List[InventoryItem]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#CheckCollisionsVar(start:Int,w:Int,h:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]" 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">CheckCollisionsVar</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.util.Try" class="extype">Try</span>[<span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]]</span></span><p class="shortcomment cmt">Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
If there are fewer items stored in the inventory than there are cells required to represent the testing item,
test the collision by iterating through the list of items.</p><div class="fullcomment"><div class="comment cmt"><p>Test whether a given piece of <code>Equipment</code> would collide with any stowed content in the inventory.<br>
<br>
If there are fewer items stored in the inventory than there are cells required to represent the testing item,
test the collision by iterating through the list of items.
If there are more items, check that each cell that would be used for the testing items tile does not collide.
The "testing item" in this case has already been transformed into its tile dimensions.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the cell index to test this <code>Equipment</code> for insertion</p></dd><dt class="param">w</dt><dd class="cmt"><p>the width of the <code>Equipment</code> to be tested</p></dd><dt class="param">h</dt><dd class="cmt"><p>the height of the <code>Equipment</code> to be tested</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of existing items that an item of this scale would overlap if inserted</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Clear" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Clear():List[net.psforever.objects.inventory.InventoryItem]"></a><a id="Clear():List[InventoryItem]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Clear():List[net.psforever.objects.inventory.InventoryItem]" 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">Clear</span><span class="params">()</span><span class="result">: <span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]</span></span><p class="shortcomment cmt">Clear the inventory by removing all of its items.</p><div class="fullcomment"><div class="comment cmt"><p>Clear the inventory by removing all of its items.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of the previous items in the inventory as their <code>InventoryItemData</code> tiles</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.Container#Collisions" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Collisions(index:Int,width:Int,height:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]"></a><a id="Collisions(Int,Int,Int):Try[List[InventoryItem]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Collisions(index:Int,width:Int,height:Int):scala.util.Try[List[net.psforever.objects.inventory.InventoryItem]]" 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">Collisions</span><span class="params">(<span name="index">index: <span name="scala.Int" class="extype">Int</span></span>, <span name="width">width: <span name="scala.Int" class="extype">Int</span></span>, <span name="height">height: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.util.Try" class="extype">Try</span>[<span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]]</span></span><p class="shortcomment cmt">Given a region of "searchable unit positions" considered as stowable,
determine if any previously stowed items are contained within that region.<br>
<br>
Default usage, and recommended the continued inclusion of that use,
is defined in terms of <code>Equipment</code> being stowed in a <code>GridInventory</code>.</p><div class="fullcomment"><div class="comment cmt"><p>Given a region of "searchable unit positions" considered as stowable,
determine if any previously stowed items are contained within that region.<br>
<br>
Default usage, and recommended the continued inclusion of that use,
is defined in terms of <code>Equipment</code> being stowed in a <code>GridInventory</code>.
Where the <code>Equipment</code> object is defined by the dimensions <code>width</code> and <code>height</code>,
starting a search at <code>index</code> will search all positions within a grid-like range of numbers.
Under certain searching conditions, this range may be meaningless,
such as is the case when searching individual positions that are normal <code>EquipmentSlot</code> objects.
Regardless, the value collected indicates the potential of multiple objects being discovered and
maintains a reference to the object itself and the slot position where the object is located.
(As any object can be discovered within the range, that is important.)</p></div><dl class="paramcmts block"><dt class="param">index</dt><dd class="cmt"><p>the position to start searching</p></dd><dt class="param">width</dt><dd class="cmt"><p>the width of the searchable space</p></dd><dt class="param">height</dt><dd class="cmt"><p>the height of the serachable space</p></dd><dt>returns</dt><dd class="cmt"><p>a list of objects that have been encountered within the searchable space</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd><dt>See also</dt><dd><span class="cmt"><p><code>GridInventory.CheckCollisionsVar</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#ElementsInListCollideInGrid" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ElementsInListCollideInGrid():List[List[net.psforever.objects.inventory.InventoryItem]]"></a><a id="ElementsInListCollideInGrid():List[List[InventoryItem]]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#ElementsInListCollideInGrid():List[List[net.psforever.objects.inventory.InventoryItem]]" 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">ElementsInListCollideInGrid</span><span class="params">()</span><span class="result">: <span name="scala.List" class="extype">List</span>[<span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]]</span></span><p class="shortcomment cmt">Check whether any items in the "inventory as a list" datastructure would overlap in the "inventory as a grid".</p><div class="fullcomment"><div class="comment cmt"><p>Check whether any items in the "inventory as a list" datastructure would overlap in the "inventory as a grid".
Most likely, if an overlap is discovered,
the grid-space is already compromised by having lost a section of some item's <code>Tile</code>.
The inventory system actually lacks mechanics to properly resolve any discovered issues.
For that reason, it will return a list of overlap issues that need to be resolved by a higher authority.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>a list of item overlap collision combinations</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>InventoryDisarrayException</code></p></span><span class="cmt"><p><code>recursiveRelatedListCollisions</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#ElementsOnGridMatchList" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ElementsOnGridMatchList():Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#ElementsOnGridMatchList():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">ElementsOnGridMatchList</span><span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">Align the "inventory as a grid" with the "inventory as a list."
The grid is a faux-two-dimensional map of object identifiers that should point to items in the list.</p><div class="fullcomment"><div class="comment cmt"><p>Align the "inventory as a grid" with the "inventory as a list."
The grid is a faux-two-dimensional map of object identifiers that should point to items in the list.
(Not the same as the global unique identifier number.)
The objects in the list are considered actually being in the inventory.
Only the references to those objects in grid-space can be considered out of alignment
by not pointing to objects in the list.
The inventory as a grid can be repaired but only a higher authority can perform inventory synchronization.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the number of stale object references found and corrected</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>InventoryDisarrayException</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Find" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Find(guid:net.psforever.types.PlanetSideGUID):Option[Int]"></a><a id="Find(PlanetSideGUID):Option[Int]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Find(guid:net.psforever.types.PlanetSideGUID):Option[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">Find</span><span class="params">(<span name="guid">guid: <a href="../../types/PlanetSideGUID.html" name="net.psforever.types.PlanetSideGUID" id="net.psforever.types.PlanetSideGUID" class="extype">PlanetSideGUID</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><p class="shortcomment cmt">Given globally unique identifier, if the object using it is stowed, attempt to locate its slot.</p><div class="fullcomment"><div class="comment cmt"><p>Given globally unique identifier, if the object using it is stowed, attempt to locate its slot.
All positions, <code>VisibleSlot</code> and <code>Inventory</code>, and wherever else, should be searchable.</p></div><dl class="paramcmts block"><dt class="param">guid</dt><dd class="cmt"><p>the GUID of the <code>Equipment</code></p></dd><dt>returns</dt><dd class="cmt"><p>the index of the <code>EquipmentSlot</code>, or <code>None</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.Container#Find" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Find(obj:net.psforever.objects.equipment.Equipment):Option[Int]"></a><a id="Find(Equipment):Option[Int]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Find(obj:net.psforever.objects.equipment.Equipment):Option[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">Find</span><span class="params">(<span name="obj">obj: <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><p class="shortcomment cmt">Given an object, attempt to locate its slot.</p><div class="fullcomment"><div class="comment cmt"><p>Given an object, attempt to locate its slot.
All positions, <code>VisibleSlot</code> and <code>Inventory</code>, and wherever else, should be searchable.</p></div><dl class="paramcmts block"><dt class="param">obj</dt><dd class="cmt"><p>the <code>Equipment</code> object</p></dd><dt>returns</dt><dd class="cmt"><p>the index of the <code>EquipmentSlot</code>, or <code>None</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Fit" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Fit(tile:net.psforever.objects.inventory.InventoryTile):Option[Int]"></a><a id="Fit(InventoryTile):Option[Int]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Fit(tile:net.psforever.objects.inventory.InventoryTile):Option[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">Fit</span><span class="params">(<span name="tile">tile: <a href="InventoryTile.html" name="net.psforever.objects.inventory.InventoryTile" id="net.psforever.objects.inventory.InventoryTile" class="extype">InventoryTile</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><p class="shortcomment cmt">Find a blank space in the current inventory where a <code>tile</code> of given dimensions can be cleanly inserted.</p><div class="fullcomment"><div class="comment cmt"><p>Find a blank space in the current inventory where a <code>tile</code> of given dimensions can be cleanly inserted.
Brute-force method.</p></div><dl class="paramcmts block"><dt class="param">tile</dt><dd class="cmt"><p>the dimensions of the blank space</p></dd><dt>returns</dt><dd class="cmt"><p>the grid index of the upper left corner where equipment to which the <code>tile</code> belongs should be placed</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.Container#Fit" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Fit(obj:net.psforever.objects.equipment.Equipment):Option[Int]"></a><a id="Fit(Equipment):Option[Int]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Fit(obj:net.psforever.objects.equipment.Equipment):Option[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">Fit</span><span class="params">(<span name="obj">obj: <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Height" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Height:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Height: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">Height</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Insert" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Insert(start:Int,obj:net.psforever.objects.equipment.Equipment):Boolean"></a><a id="Insert(Int,Equipment):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Insert(start:Int,obj:net.psforever.objects.equipment.Equipment):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">Insert</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="obj">obj: <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#InsertQuickly" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InsertQuickly(start:Int,obj:net.psforever.objects.equipment.Equipment):Boolean"></a><a id="InsertQuickly(Int,Equipment):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#InsertQuickly(start:Int,obj:net.psforever.objects.equipment.Equipment):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">InsertQuickly</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="obj">obj: <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">Just insert an item into the inventory without checking for item collisions.</p><div class="fullcomment"><div class="comment cmt"><p>Just insert an item into the inventory without checking for item collisions.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the starting slot</p></dd><dt class="param">obj</dt><dd class="cmt"><p>the <code>Equipment</code> item to be inserted</p></dd><dt>returns</dt><dd class="cmt"><p>whether the insertion succeeded</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Insertion_CheckCollisions" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Insertion_CheckCollisions(start:Int,obj:net.psforever.objects.equipment.Equipment,key:Int):Boolean"></a><a id="Insertion_CheckCollisions(Int,Equipment,Int):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Insertion_CheckCollisions(start:Int,obj:net.psforever.objects.equipment.Equipment,key:Int):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">Insertion_CheckCollisions</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="obj">obj: <a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a></span>, <span name="key">key: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">Perform a collisions check and, if it passes, perform the insertion.</p><div class="fullcomment"><div class="comment cmt"><p>Perform a collisions check and, if it passes, perform the insertion.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the starting slot</p></dd><dt class="param">obj</dt><dd class="cmt"><p>the <code>Equipment</code> item to be inserted</p></dd><dt class="param">key</dt><dd class="cmt"><p>the internal numeric identifier for this item</p></dd><dt>returns</dt><dd class="cmt"><p>the success or the failure of the insertion process</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Inventory" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Inventory:net.psforever.objects.inventory.GridInventory"></a><a id="Inventory:GridInventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Inventory:net.psforever.objects.inventory.GridInventory" 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">Inventory</span><span class="result">: <a href="" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a></span></span><p class="shortcomment cmt">A(n imperfect) reference to a generalized pool of the contained objects.</p><div class="fullcomment"><div class="comment cmt"><p>A(n imperfect) reference to a generalized pool of the contained objects.
Having access to all of the available positions is not required.
The entries in this reference should definitely include all unseen positions.
The <code>GridInventory</code> returned by this accessor is also an implementation of <code>Container</code>.</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd><dt>See also</dt><dd><span class="cmt"><p><code>VisibleSlots</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Items" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Items:List[net.psforever.objects.inventory.InventoryItem]"></a><a id="Items:List[InventoryItem]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Items:List[net.psforever.objects.inventory.InventoryItem]" 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">Items</span><span class="result">: <span name="scala.List" class="extype">List</span>[<a href="InventoryItem.html" name="net.psforever.objects.inventory.InventoryItem" id="net.psforever.objects.inventory.InventoryItem" class="extype">InventoryItem</a>]</span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#LastIndex" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="LastIndex:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#LastIndex: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">LastIndex</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">The index of the last cell in this inventory.</p><div class="fullcomment"><div class="comment cmt"><p>The index of the last cell in this inventory.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>same as <code>Offset</code> plus the total number of cells in this inventory minus 1</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Offset" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Offset:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Offset: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">Offset</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Offset_=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Offset_=(fset:Int):Int"></a><a id="Offset_=(Int):Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Offset_=(fset:Int):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" title="gt4s: Offset_$eq">Offset_=</span><span class="params">(<span name="fset">fset: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">Change the grid index offset value.</p><div class="fullcomment"><div class="comment cmt"><p>Change the grid index offset value.</p></div><dl class="paramcmts block"><dt class="param">fset</dt><dd class="cmt"><p>the new offset value</p></dd><dt>returns</dt><dd class="cmt"><p>the current offset value</p></dd></dl><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IndexOutOfBoundsException" class="extype"><code>IndexOutOfBoundsException</code></span> if the index is negative</p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Remove" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Remove(guid:net.psforever.types.PlanetSideGUID):Boolean"></a><a id="Remove(PlanetSideGUID):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Remove(guid:net.psforever.types.PlanetSideGUID):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">Remove</span><span class="params">(<span name="guid">guid: <a href="../../types/PlanetSideGUID.html" name="net.psforever.types.PlanetSideGUID" id="net.psforever.types.PlanetSideGUID" class="extype">PlanetSideGUID</a></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Remove" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Remove(index:Int):Boolean"></a><a id="Remove(Int):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Remove(index:Int):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">Remove</span><span class="params">(<span name="index">index: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Resize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Resize(w:Int,h:Int):Unit"></a><a id="Resize(Int,Int):Unit"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Resize(w:Int,h: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">Resize</span><span class="params">(<span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Change the size of the inventory, without regard for its current contents.</p><div class="fullcomment"><div class="comment cmt"><p>Change the size of the inventory, without regard for its current contents.
This method replaces mutators for <code>Width</code> and <code>Height</code>.</p></div><dl class="paramcmts block"><dt class="param">w</dt><dd class="cmt"><p>the new width</p></dd><dt class="param">h</dt><dd class="cmt"><p>the new height</p></dd></dl><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IllegalArgumentException" class="extype"><code>IllegalArgumentException</code></span> if the new size to be set is zero or less</p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#SetCells" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="SetCells(start:Int,w:Int,h:Int,value:Int):Unit"></a><a id="SetCells(Int,Int,Int,Int):Unit"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#SetCells(start:Int,w:Int,h:Int,value: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">SetCells</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>, <span name="value">value: <span name="scala.Int" class="extype">Int</span> = <span class="symbol">-1</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Define a region of inventory grid cells and set them to a given value.</p><div class="fullcomment"><div class="comment cmt"><p>Define a region of inventory grid cells and set them to a given value.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the initial inventory index</p></dd><dt class="param">w</dt><dd class="cmt"><p>the width of the region</p></dd><dt class="param">h</dt><dd class="cmt"><p>the height of the region</p></dd><dt class="param">value</dt><dd class="cmt"><p>the value to set all the cells in the defined region;
defaults to -1 (which is "nothing")</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>SetCellsNoOffset</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#SetCellsNoOffset" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="SetCellsNoOffset(start:Int,w:Int,h:Int,value:Int):Array[Int]"></a><a id="SetCellsNoOffset(Int,Int,Int,Int):Array[Int]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#SetCellsNoOffset(start:Int,w:Int,h:Int,value:Int):Array[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">SetCellsNoOffset</span><span class="params">(<span name="start">start: <span name="scala.Int" class="extype">Int</span></span>, <span name="w">w: <span name="scala.Int" class="extype">Int</span></span>, <span name="h">h: <span name="scala.Int" class="extype">Int</span></span>, <span name="value">value: <span name="scala.Int" class="extype">Int</span> = <span class="symbol">-1</span></span>)</span><span class="result">: <span name="scala.Array" class="extype">Array</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><p class="shortcomment cmt">Define a region of inventory grid cells and set them to a given value.</p><div class="fullcomment"><div class="comment cmt"><p>Define a region of inventory grid cells and set them to a given value.
Perform basic boundary checking for the current inventory dimensions.</p></div><dl class="paramcmts block"><dt class="param">start</dt><dd class="cmt"><p>the initial inventory index, without the inventory offset (required)</p></dd><dt class="param">w</dt><dd class="cmt"><p>the width of the region</p></dd><dt class="param">h</dt><dd class="cmt"><p>the height of the region</p></dd><dt class="param">value</dt><dd class="cmt"><p>the value to set all the cells in the defined region;
defaults to -1 (which is "nothing")</p></dd><dt>returns</dt><dd class="cmt"><p>a copy of the inventory as a grid, with the anticipated modifications</p></dd></dl><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IndexOutOfBoundsException" class="extype"><code>IndexOutOfBoundsException</code></span> if the region extends outside of the grid boundaries</p></span></dd><dt>See also</dt><dd><span class="cmt"><p><code>SetCellsOnlyNoOffset</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Size" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Size:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Size: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">Size</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Slot" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Slot(slot:Int):net.psforever.objects.equipment.EquipmentSlot"></a><a id="Slot(Int):EquipmentSlot"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Slot(slot:Int):net.psforever.objects.equipment.EquipmentSlot" 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">Slot</span><span class="params">(<span name="slot">slot: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <a href="../equipment/EquipmentSlot.html" name="net.psforever.objects.equipment.EquipmentSlot" id="net.psforever.objects.equipment.EquipmentSlot" class="extype">EquipmentSlot</a></span></span><p class="shortcomment cmt">Get whatever is stowed in the inventory at the given index.</p><div class="fullcomment"><div class="comment cmt"><p>Get whatever is stowed in the inventory at the given index.</p></div><dl class="paramcmts block"><dt class="param">slot</dt><dd class="cmt"><p>the cell index</p></dd><dt>returns</dt><dd class="cmt"><p>an <code>EquipmentSlot</code> that contains whatever <code>Equipment</code> was stored in <code>slot</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.Container#SlotMapResolution" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="SlotMapResolution(slot:Int):Int"></a><a id="SlotMapResolution(Int):Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#SlotMapResolution(slot:Int):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">SlotMapResolution</span><span class="params">(<span name="slot">slot: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">When the slot reported is not the slot requested, change the slot.</p><div class="fullcomment"><div class="comment cmt"><p>When the slot reported is not the slot requested, change the slot.</p></div><dl class="paramcmts block"><dt class="param">slot</dt><dd class="cmt"><p>the original slot index</p></dd><dt>returns</dt><dd class="cmt"><p>the modified slot index</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#TotalCapacity" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="TotalCapacity:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#TotalCapacity: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">TotalCapacity</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">The total number of cells in this inventory.</p><div class="fullcomment"><div class="comment cmt"><p>The total number of cells in this inventory.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the width multiplied by the height (<code>grid.length</code>, which is the same thing)</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#VisibleSlots" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="VisibleSlots:Set[Int]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#VisibleSlots:Set[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">VisibleSlots</span><span class="result">: <span name="scala.Predef.Set" class="extype">Set</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><p class="shortcomment cmt">A(n imperfect) reference to a generalized pool of the contained objects.<br>
<br>
Having access to all of the available positions is not required.</p><div class="fullcomment"><div class="comment cmt"><p>A(n imperfect) reference to a generalized pool of the contained objects.<br>
<br>
Having access to all of the available positions is not required.
Only the positions that can be actively viewed by other clients are listed.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>all of the affected slot indices</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a><a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></dd><dt>See also</dt><dd><span class="cmt"><p><code>Inventory</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory#Width" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Width:Int"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#Width: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">Width</span><span class="result">: <span name="scala.Int" class="extype">Int</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/inventory/GridInventory.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/objects/inventory/GridInventory.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/objects/inventory/GridInventory.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/objects/inventory/GridInventory.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/objects/inventory/GridInventory.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="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/objects/inventory/GridInventory.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="net.psforever.objects.inventory.GridInventory#hasItem" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hasItem(guid:net.psforever.types.PlanetSideGUID):Option[net.psforever.objects.equipment.Equipment]"></a><a id="hasItem(PlanetSideGUID):Option[Equipment]"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html#hasItem(guid:net.psforever.types.PlanetSideGUID):Option[net.psforever.objects.equipment.Equipment]" 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">hasItem</span><span class="params">(<span name="guid">guid: <a href="../../types/PlanetSideGUID.html" name="net.psforever.types.PlanetSideGUID" id="net.psforever.types.PlanetSideGUID" class="extype">PlanetSideGUID</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<a href="../equipment/Equipment.html" name="net.psforever.objects.equipment.Equipment" id="net.psforever.objects.equipment.Equipment" class="extype">Equipment</a>]</span></span><p class="shortcomment cmt">Does this inventory contain an object with the given GUID?</p><div class="fullcomment"><div class="comment cmt"><p>Does this inventory contain an object with the given GUID?</p></div><dl class="paramcmts block"><dt class="param">guid</dt><dd class="cmt"><p>the GUID</p></dd><dt>returns</dt><dd class="cmt"><p>the discovered object, or <code>None</code></p></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/objects/inventory/GridInventory.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="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/objects/inventory/GridInventory.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="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/objects/inventory/GridInventory.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="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.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/objects/inventory/GridInventory.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="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/objects/inventory/GridInventory.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="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.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="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.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/objects/inventory/GridInventory.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/objects/inventory/GridInventory.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></ol></div></div><div id="inheritedMembers"><div name="net.psforever.objects.inventory.Container" class="parent"><h3>Inherited from <a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></h3></div><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>