File: CastleItems.T3DAliveWithInventory.html

package info (click to toggle)
castle-game-engine 5.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 185,428 kB
  • sloc: pascal: 260,781; cpp: 1,363; objc: 713; makefile: 537; xml: 496; sh: 480; php: 4
file content (166 lines) | stat: -rw-r--r-- 10,846 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: CastleItems: Class T3DAliveWithInventory</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="T3DAliveWithInventory"></a><h1 class="cio">Class T3DAliveWithInventory</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a  href="CastleItems.html">CastleItems</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type T3DAliveWithInventory = class(<a class="normal" href="Castle3D.T3DAlive.html">T3DAlive</a>)</code></p>
<h2 class="description">Description</h2>
<p>
Alive 3D thing that has inventory (can keep items).</p>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TComponent</li>
<li class="ancestor"><a class="normal" href="Castle3D.T3D.html">T3D</a></li>
<li class="ancestor"><a class="normal" href="Castle3D.T3DList.html">T3DList</a></li>
<li class="ancestor"><a class="normal" href="Castle3D.T3DCustomTransform.html">T3DCustomTransform</a></li>
<li class="ancestor"><a class="normal" href="Castle3D.T3DOrient.html">T3DOrient</a></li>
<li class="ancestor"><a class="normal" href="Castle3D.T3DAlive.html">T3DAlive</a></li>
<li class="thisitem">T3DAliveWithInventory</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>constructor <b><a  href="CastleItems.T3DAliveWithInventory.html#Create">Create</a></b>(AOwner: TComponent); override;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>destructor <b><a  href="CastleItems.T3DAliveWithInventory.html#Destroy">Destroy</a></b>; override;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="CastleItems.T3DAliveWithInventory.html#PickItemUpdate">PickItemUpdate</a></b>(var Item: <a  href="CastleItems.TInventoryItem.html">TInventoryItem</a>): Integer; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="CastleItems.T3DAliveWithInventory.html#PickItem">PickItem</a></b>(Item: <a  href="CastleItems.TInventoryItem.html">TInventoryItem</a>): Integer;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="CastleItems.T3DAliveWithInventory.html#DropItem">DropItem</a></b>(const Index: Integer): <a  href="CastleItems.TItemOnWorld.html">TItemOnWorld</a>; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a  href="CastleItems.T3DAliveWithInventory.html#UseItem">UseItem</a></b>(const Index: Integer); virtual;</code></td>
</tr>
</table>
<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="CastleItems.T3DAliveWithInventory.html#Inventory">Inventory</a></b>: <a  href="CastleItems.TInventory.html">TInventory</a> read FInventory;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(AOwner: TComponent); override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Destroy"></a><code>destructor <b>Destroy</b>; override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="PickItemUpdate"></a><code>function <b>PickItemUpdate</b>(var Item: <a  href="CastleItems.TInventoryItem.html">TInventoryItem</a>): Integer; virtual;</code></td>
</tr>
<tr><td colspan="2">
<p>
Add given Item to <a class="normal" href="CastleItems.T3DAliveWithInventory.html#Inventory">Inventory</a>. Because an item may be stacked with others, the actual Item instance may be freed and replaced with other by this method, that is why Item parameter is &quot;var&quot;. Use <a class="normal" href="CastleItems.T3DAliveWithInventory.html#PickItem">PickItem</a> method if you don't care about your Item instance.

<p>Returns index to the added item.

<p>Using this method means that the memory management of the item becomes the responsibility of this list.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="PickItem"></a><code>function <b>PickItem</b>(Item: <a  href="CastleItems.TInventoryItem.html">TInventoryItem</a>): Integer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Add given Item to <a class="normal" href="CastleItems.T3DAliveWithInventory.html#Inventory">Inventory</a>. See <a class="normal" href="CastleItems.T3DAliveWithInventory.html#PickItemUpdate">PickItemUpdate</a> for details.

<p>This is a shortcut to call <a class="normal" href="CastleItems.T3DAliveWithInventory.html#PickItemUpdate">PickItemUpdate</a> and then ignore changes to Item instance. Calling this method may be comfortable, but remember that the Item instance possibly doesn't exist after we finish.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="DropItem"></a><code>function <b>DropItem</b>(const Index: Integer): <a  href="CastleItems.TItemOnWorld.html">TItemOnWorld</a>; virtual;</code></td>
</tr>
<tr><td colspan="2">
<p>
Drop item from <a class="normal" href="CastleItems.T3DAliveWithInventory.html#Inventory">Inventory</a>. It is Ok to pass here Index out of range, it will be ignored. </p>
<h6 class="description_section">Returns</h6>
<p class="return">Droppped item, or <code>Nil</code> if the operation was not completed due to any reason (e.g. no space on 3D world to fit this item).</p></td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="UseItem"></a><code>procedure <b>UseItem</b>(const Index: Integer); virtual;</code></td>
</tr>
<tr><td colspan="2">
<p>
Use an item from <a class="normal" href="CastleItems.T3DAliveWithInventory.html#Inventory">Inventory</a>. Calls <a class="normal" href="CastleItems.TInventoryItem.html#Use">TInventoryItem.Use</a>, and then checks whether the item was depleted (and eventually removes it from repository). It is Ok to pass here Index out of range, it will be ignored.</p>
</td></tr>
</table>
<h3 class="detail">Properties</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Inventory"></a><code>property <b>Inventory</b>: <a  href="CastleItems.TInventory.html">TInventory</a> read FInventory;</code></td>
</tr>
<tr><td colspan="2">
<p>
Owned items. Never change the contents of this list directly, always use <a class="normal" href="CastleItems.T3DAliveWithInventory.html">T3DAliveWithInventory</a> methods like <a class="normal" href="CastleItems.T3DAliveWithInventory.html#PickItem">PickItem</a> or <a class="normal" href="CastleItems.T3DAliveWithInventory.html#DropItem">DropItem</a> for this.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "1"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->

<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&amp;rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:10</em>
</span>
</td></tr></table></body></html>