File:Inventory item architecture.png

From UFO:AI
Jump to navigation Jump to search

Original file(1,390 × 810 pixels, file size: 63 KB, MIME type: image/png)

Item architecture used for inventory, and then used by container node.

Diagram source code

Image created with UMLet. Copy past it into a file called foo.uxf

<?xml version="1.0" encoding="UTF-8" standalone="no"?><umlet_diagram><help_text>// Uncomment the following line to change the fontsize:
// fontsize=14

// Welcome to UMLet!
//
// Double-click on UML elements to add them to the diagram.
// Edit element properties by modifying the text in this panel.
// Edit the files in the 'palettes' directory to create your own element palettes.
// Hold down Ctrl to select multiple elements.
// Press Del to delete elements.
// Press Ctrl-c to copy an element, and to store the whole UML diagram to the system clipboard.
// Select "Custom elements > New..." to create new element types.
//
// This text will be stored with each diagram;  use it for notes.</help_text><element><type>com.umlet.element.base.Class</type><coordinates><x>480</x><y>470</y><w>210</w><h>80</h></coordinates><panel_attributes>invList_t
--
+x: int
+y: int</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>520</x><y>530</y><w>110</w><h>90</h></coordinates><panel_attributes>lt=<-
next
m1=0..1</panel_attributes><additional_attributes>20;20;20;70;90;70;90;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>669</x><y>486</y><w>151</w><h>54</h></coordinates><panel_attributes>lt=<<<<->
item
m2=1</panel_attributes><additional_attributes>20;34;131;34</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>800</x><y>470</y><w>210</w><h>80</h></coordinates><panel_attributes>item_t
--
+a:int
+amout:int
+rotated:int</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1130</x><y>470</y><w>210</w><h>100</h></coordinates><panel_attributes>objDef_t
--
+idx:int
+name:string
+id:string
...</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>990</x><y>466</y><w>160</w><h>54</h></coordinates><panel_attributes>lt=<-
m
m1=0..1</panel_attributes><additional_attributes>140;34;20;34</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>990</x><y>496</y><w>160</w><h>54</h></coordinates><panel_attributes>lt=<-
t
m1=0..1</panel_attributes><additional_attributes>140;34;20;34</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>110</x><y>480</y><w>210</w><h>70</h></coordinates><panel_attributes>inventory_t
--</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Class</type><coordinates><x>120</x><y>140</y><w>210</w><h>70</h></coordinates><panel_attributes>_csi: csi_t_
</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>310</x><y>126</y><w>930</w><h>364</h></coordinates><panel_attributes>lt=<<<<->
ods
m2=0..n</panel_attributes><additional_attributes>20;34;900;34;900;344</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>430</x><y>170</y><w>210</w><h>240</h></coordinates><panel_attributes>invDef_t
--
+name:string
+id:int
+single:bool
+armour:bool
+extension:bool
+headgear:bool
+all:bool
+scroll:bool
+temp:bool
+shape
+in:int
+out:int</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>310</x><y>146</y><w>140</w><h>54</h></coordinates><panel_attributes>lt=<<<<->
ids
m2=0..n</panel_attributes><additional_attributes>20;34;120;34</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>300</x><y>476</y><w>200</w><h>54</h></coordinates><panel_attributes>lt=->
q1=containerID
m2=1
c

</panel_attributes><additional_attributes>20;34;180;34</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>420</x><y>389</y><w>40</w><h>141</h></coordinates><panel_attributes>lt=-</panel_attributes><additional_attributes>20;121;20;20</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>120</x><y>230</y><w>210</w><h>40</h></coordinates><panel_attributes>_baseInventory: inventory_t_</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Note</type><coordinates><x>630</x><y>620</y><w>420</w><h>150</h></coordinates><panel_attributes>* If rotated is into item_t why x,y is into invList_t ?
Position and orientation should be attributes of the
same object.
* We can see this relation like an inheritence of item_t by invList_t
Maybe we should rename invList_t, invItem_t
* Finnaly can/should we merge invList_t and item_t?
It can reduce a lot of complexity, but i dont know cases when
item_t is used without invList_t (base, aircraft, soldier?)
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>820</x><y>530</y><w>100</w><h>110</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;90;80;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>640</x><y>530</y><w>110</w><h>110</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>90;90;20;20</additional_attributes></element><element><type>com.umlet.element.base.Note</type><coordinates><x>110</x><y>20</y><w>240</w><h>70</h></coordinates><panel_attributes>Update when we
run the game. Then it should
not change
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>190</x><y>70</y><w>40</w><h>90</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;20;20;70</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>200</x><y>250</y><w>40</w><h>80</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;60;20;20</additional_attributes></element><element><type>com.umlet.element.base.Note</type><coordinates><x>90</x><y>310</y><w>320</w><h>80</h></coordinates><panel_attributes>Not very easy to understand
when this thing is updated.
IMO it provide invList_t (left hand, right hand...)
of the selected soldier, and selected base
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Note</type><coordinates><x>1110</x><y>640</y><w>240</w><h>70</h></coordinates><panel_attributes>Update when we
run the game. Then it should
not change
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1190</x><y>550</y><w>40</w><h>110</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;20;20;90</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>810</x><y>360</y><w>210</w><h>80</h></coordinates><panel_attributes>UI::ContainerNode
--
+scrollCur:int
+scrollNum:int
+scrollTotalNum:int
</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>619</x><y>345</y><w>211</w><h>65</h></coordinates><panel_attributes>lt=<-
container
m1=1</panel_attributes><additional_attributes>20;24;191;45</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>620</x><y>200</y><w>210</w><h>60</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>190;20;20;40</additional_attributes></element><element><type>com.umlet.element.base.Note</type><coordinates><x>810</x><y>180</y><w>210</w><h>80</h></coordinates><panel_attributes>Update when we
run the game. Then it should
not change. But here i am
not very sure
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Note</type><coordinates><x>110</x><y>620</y><w>310</w><h>70</h></coordinates><panel_attributes>Global comment,
Use understandable name. Thing
link "a", or "t", or "m", or "c" is not very helpfull
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Note</type><coordinates><x>760</x><y>280</y><w>320</w><h>50</h></coordinates><panel_attributes>The object use the global var baseInventory
and the container relation to know existing items
bg=blue</panel_attributes><additional_attributes/></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>890</x><y>310</y><w>40</w><h>70</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;20;20;50</additional_attributes></element></umlet_diagram>

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current17:45, 3 June 2009Thumbnail for version as of 17:45, 3 June 20091,390 × 810 (63 KB)Bayo (talk | contribs)update
17:00, 3 June 2009Thumbnail for version as of 17:00, 3 June 20091,390 × 810 (62 KB)Bayo (talk | contribs)

There are no pages that use this file.