-
+
-
+
Available items:
-
-
- @foreach (var item in Items)
- {
-
- }
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BlazorApp1/Components/Inventory.razor.cs b/BlazorApp1/Components/Inventory.razor.cs
index 23196b6..f81d9b8 100644
--- a/BlazorApp1/Components/Inventory.razor.cs
+++ b/BlazorApp1/Components/Inventory.razor.cs
@@ -13,5 +13,7 @@ namespace BlazorApp1.Components
public Item CurrentDragItem { get; set; }
public ItemDisplay CurrentEllement { get; set; }
+
+ public List
InventoryItems { get; set; }
}
}
diff --git a/BlazorApp1/Components/Inventory.razor.css b/BlazorApp1/Components/Inventory.razor.css
index 734cd65..bbde7ae 100644
--- a/BlazorApp1/Components/Inventory.razor.css
+++ b/BlazorApp1/Components/Inventory.razor.css
@@ -1,5 +1,5 @@
.css-grid {
- grid-template-columns: repeat(4,minmax(0,1fr));
+ grid-template-columns: repeat(1,minmax(0,1fr));
gap: 10px;
display: grid;
width: 286px;
diff --git a/BlazorApp1/Components/InventoryItem.razor b/BlazorApp1/Components/InventoryItem.razor
index dc49075..10d02ec 100644
--- a/BlazorApp1/Components/InventoryItem.razor
+++ b/BlazorApp1/Components/InventoryItem.razor
@@ -10,6 +10,7 @@
@if (Item != null)
{
//
- @Item.DisplayName
+ @Item.DisplayName
+ @nbElem
}
\ No newline at end of file
diff --git a/BlazorApp1/Components/InventoryItem.razor.cs b/BlazorApp1/Components/InventoryItem.razor.cs
index e8b80bc..fcb06a6 100644
--- a/BlazorApp1/Components/InventoryItem.razor.cs
+++ b/BlazorApp1/Components/InventoryItem.razor.cs
@@ -13,11 +13,28 @@ namespace BlazorApp1.Components
[Parameter]
public bool NoDrop { get; set; }
+ [Parameter]
public int nbElem { get; set; }
[CascadingParameter]
public Inventory Parent { get; set; }
+ public InventoryItem( Item item, bool nodrop)
+ {
+ Item = item;
+ NoDrop = nodrop;
+ }
+
+ public void setItem(Item item)
+ {
+ this.Item = item;
+ }
+
+ public void setNbElement(int nbElement)
+ {
+ this.nbElem = nbElement;
+ }
+
public void changeState()
{
StateHasChanged();
@@ -64,8 +81,37 @@ namespace BlazorApp1.Components
if (this.Item is not null)
{
- if (this.Item.Equals(Parent.CurrentDragItem) && this.nbElem < 64)
- this.nbElem++;
+ if (this.Item.Equals(Parent.CurrentDragItem))
+ {
+ if(this.nbElem < this.Item.StackSize && Parent.CurrentEllement.getTypeID() == "ListItem")
+ {
+ this.nbElem++;
+ }
+ else if (this.nbElem + Parent.CurrentEllement.getNbElement() > this.Item.StackSize && Parent.CurrentEllement.getTypeID() == "InventoryItem")
+ {
+ int tmp = this.nbElem + Parent.CurrentEllement.getNbElement();
+ this.nbElem = this.Item.StackSize;
+ Parent.CurrentEllement.setNbElement(tmp - this.Item.StackSize);
+ }
+ else if (Parent.CurrentEllement.getTypeID() == "InventoryItem")
+ {
+ this.nbElem += Parent.CurrentEllement.getNbElement();
+ Parent.CurrentEllement.setNbElement(0);
+ Parent.CurrentEllement.setItem(null);
+ }
+ }
+ else
+ {
+ if (Parent.CurrentEllement.getTypeID() == "InventoryItem")
+ {
+ int tmp = this.nbElem ;
+ this.nbElem = Parent.CurrentEllement.getNbElement();
+ Parent.CurrentEllement.setNbElement(tmp);
+ Item tmpI = this.Item;
+ this.Item = Parent.CurrentEllement.getItem();
+ Parent.CurrentEllement.setItem(tmpI);
+ }
+ }
}
else
{
diff --git a/BlazorApp1/Components/ItemDisplay.cs b/BlazorApp1/Components/ItemDisplay.cs
index 83e64c3..4bb9af0 100644
--- a/BlazorApp1/Components/ItemDisplay.cs
+++ b/BlazorApp1/Components/ItemDisplay.cs
@@ -9,5 +9,9 @@
int getNbElement();
void changeState();
+
+ void setNbElement(int nbElement);
+
+ void setItem(Item item);
}
}
diff --git a/BlazorApp1/Components/ListItem.razor b/BlazorApp1/Components/ListItem.razor
index dc49075..bf11e61 100644
--- a/BlazorApp1/Components/ListItem.razor
+++ b/BlazorApp1/Components/ListItem.razor
@@ -1,15 +1,16 @@
-