From f9d0dd85133d65ce019a7eefb10eb60531c35761 Mon Sep 17 00:00:00 2001 From: Emre Date: Fri, 30 Dec 2022 23:35:04 +0100 Subject: [PATCH] Inventory done, the addition of an item in the inventory via the chest and adjustment of the duplication and the deletion on the crafting table is also done, and the improvement of the view of the list of items has been made :white_check_mark: --- src/CraftSharp/Components/Crafting.razor | 6 +- src/CraftSharp/Components/CraftingItem.razor | 3 +- .../Components/CraftingItem.razor.cs | 12 +++ src/CraftSharp/Models/CurrentUser.cs | 10 +++ src/CraftSharp/Models/ItemModel.cs | 2 +- src/CraftSharp/Pages/Opening.razor.cs | 13 ++- src/CraftSharp/Pages/TableDeCraft.razor.cs | 7 +- src/CraftSharp/Shared/MainLayout.razor | 26 ------ src/CraftSharp/Shared/MainLayout.razor.css | 73 ---------------- src/CraftSharp/Shared/NavMenu.razor | 47 ---------- src/CraftSharp/Shared/NavMenu.razor.css | 85 ------------------- src/CraftSharp/wwwroot/css/site.css | 4 + 12 files changed, 48 insertions(+), 240 deletions(-) delete mode 100644 src/CraftSharp/Shared/MainLayout.razor delete mode 100644 src/CraftSharp/Shared/MainLayout.razor.css delete mode 100644 src/CraftSharp/Shared/NavMenu.razor delete mode 100644 src/CraftSharp/Shared/NavMenu.razor.css diff --git a/src/CraftSharp/Components/Crafting.razor b/src/CraftSharp/Components/Crafting.razor index fb647db..66aa171 100644 --- a/src/CraftSharp/Components/Crafting.razor +++ b/src/CraftSharp/Components/Crafting.razor @@ -2,7 +2,7 @@
-
Recipe
+
Table de craft
@@ -34,6 +34,10 @@ { } + @for (int i = 0; i < 64 - Items.Count; i++) + { + + }
diff --git a/src/CraftSharp/Components/CraftingItem.razor b/src/CraftSharp/Components/CraftingItem.razor index 0f3ab24..3dd47ea 100644 --- a/src/CraftSharp/Components/CraftingItem.razor +++ b/src/CraftSharp/Components/CraftingItem.razor @@ -7,7 +7,8 @@ @ondragstart="@OnDragStart" @ondrop="@OnDrop" @ondragenter="@OnDragEnter" - @ondragleave="@OnDragLeave"> + @ondragleave="@OnDragLeave" + @ondragend="@OnDragEnd"> @if (Item != null) { diff --git a/src/CraftSharp/Components/CraftingItem.razor.cs b/src/CraftSharp/Components/CraftingItem.razor.cs index 9668a0a..e700471 100644 --- a/src/CraftSharp/Components/CraftingItem.razor.cs +++ b/src/CraftSharp/Components/CraftingItem.razor.cs @@ -28,6 +28,18 @@ namespace CraftSharp.Components Parent.Actions.Add(new CraftingAction { Action = "Drag Enter", Item = this.Item, Index = this.Index }); } + internal void OnDragEnd() + { + if (NoDrop) + { + return; + } + + Parent.RecipeItems[this.Index] = null; + Item = null; + Parent.CheckRecipe(); + } + internal void OnDragLeave() { if (NoDrop) diff --git a/src/CraftSharp/Models/CurrentUser.cs b/src/CraftSharp/Models/CurrentUser.cs index 94c2718..13d2f82 100644 --- a/src/CraftSharp/Models/CurrentUser.cs +++ b/src/CraftSharp/Models/CurrentUser.cs @@ -9,5 +9,15 @@ public List Inventory { get; set; } = new List(); public List Roles { get; set; } = new List() { UserRoles.User }; + public void addItem(Item item) + { + Inventory.Add(item); + } + + public int getSizeInventory() + { + return Inventory.Count; + } + } } diff --git a/src/CraftSharp/Models/ItemModel.cs b/src/CraftSharp/Models/ItemModel.cs index 88f7b6a..5cbbe66 100644 --- a/src/CraftSharp/Models/ItemModel.cs +++ b/src/CraftSharp/Models/ItemModel.cs @@ -20,7 +20,7 @@ namespace CraftSharp.Models public int StackSize { get; set; } [Required] - [Range(1, 125)] + [Range(0, 125)] public int MaxDurability { get; set; } public List EnchantCategories { get; set; } diff --git a/src/CraftSharp/Pages/Opening.razor.cs b/src/CraftSharp/Pages/Opening.razor.cs index a9c132b..a7ca7cd 100644 --- a/src/CraftSharp/Pages/Opening.razor.cs +++ b/src/CraftSharp/Pages/Opening.razor.cs @@ -20,13 +20,12 @@ namespace CraftSharp.Pages bool isChestClosed = true; int itemOpacity = 0; - [Inject] public IDataService DataService { get; set; } - [Inject] public CustomStateProvider AuthService { get; set; } - + [Inject] + public CustomStateProvider AuthStateProvider { get; set; } [CascadingParameter] public Task Context { get; set; } @@ -61,6 +60,14 @@ namespace CraftSharp.Pages { NumberOfKeys=NumberOfKeys-CostInKeys; randomItem = ItemFactory.GetRandomItem(items); + if (AuthStateProvider.GetCurrentUser().getSizeInventory() <= 64) + { + //Vérifie quel n'existe pas déjà dans la liste + if (!AuthStateProvider.GetCurrentUser().Inventory.Any(n => n.Id == randomItem.Id)) + { + AuthStateProvider.GetCurrentUser().addItem(randomItem); + } + } Console.WriteLine(randomItem.Name); openingAnimation(); } diff --git a/src/CraftSharp/Pages/TableDeCraft.razor.cs b/src/CraftSharp/Pages/TableDeCraft.razor.cs index c12dc0a..35b0747 100644 --- a/src/CraftSharp/Pages/TableDeCraft.razor.cs +++ b/src/CraftSharp/Pages/TableDeCraft.razor.cs @@ -9,9 +9,9 @@ namespace CraftSharp.Pages { [Inject] public IDataService DataService { get; set; } - public List Items { get; set; } = new List(); - + [Inject] + public CustomStateProvider AuthStateProvider { get; set; } private List Recipes { get; set; } = new List(); protected override async Task OnAfterRenderAsync(bool firstRender) @@ -23,7 +23,8 @@ namespace CraftSharp.Pages return; } - Items = await DataService.List(0, await DataService.Count()); + //Items = await DataService.List(0, await DataService.Count()); + Items = AuthStateProvider.GetCurrentUser().Inventory; Recipes = await DataService.GetRecipes(); StateHasChanged(); diff --git a/src/CraftSharp/Shared/MainLayout.razor b/src/CraftSharp/Shared/MainLayout.razor deleted file mode 100644 index c6f8f5a..0000000 --- a/src/CraftSharp/Shared/MainLayout.razor +++ /dev/null @@ -1,26 +0,0 @@ -@inherits LayoutComponentBase - -CraftSharp - - -
-
- - -
-
- About - -
- -
- -
-
- @Body -
-
-
-
diff --git a/src/CraftSharp/Shared/MainLayout.razor.css b/src/CraftSharp/Shared/MainLayout.razor.css deleted file mode 100644 index 81763ac..0000000 --- a/src/CraftSharp/Shared/MainLayout.razor.css +++ /dev/null @@ -1,73 +0,0 @@ -.page { - display: flex; -} - -main { - flex: 1; -} - -.wrap { - display: flex; - flex-direction: column; -} - -.sidebar { - background-image: linear-gradient(180deg, rgb(120,51,174) 0%, #411186 90%); -} - -.top-row { - background-color: #f7f7f7; - border-bottom: 1px solid #d6d5d5; - justify-content: flex-end; - height: 3.5rem; - display: flex; - align-items: center; -} - - .top-row ::deep a, .top-row .btn-link { - white-space: nowrap; - margin-left: 1.5rem; - } - - .top-row a:first-child { - overflow: hidden; - text-overflow: ellipsis; - } - -@media (max-width: 640.98px) { - .top-row:not(.auth) { - display: none; - } - - .top-row.auth { - justify-content: space-between; - } - - .top-row a, .top-row .btn-link { - margin-left: 0; - } -} - -@media (min-width: 641px) { - .page { - flex-direction: row; - } - - .sidebar { - width: 100%; - - position: sticky; - top: 0; - } - - .top-row { - position: sticky; - top: 0; - z-index: 1; - } - - .top-row, article { - padding-left: 2rem !important; - padding-right: 1.5rem !important; - } -} diff --git a/src/CraftSharp/Shared/NavMenu.razor b/src/CraftSharp/Shared/NavMenu.razor deleted file mode 100644 index 7089893..0000000 --- a/src/CraftSharp/Shared/NavMenu.razor +++ /dev/null @@ -1,47 +0,0 @@ - - -
- -
- -@code { - private bool collapseNavMenu = true; - - private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null; - - private void ToggleNavMenu() - { - collapseNavMenu = !collapseNavMenu; - } -} diff --git a/src/CraftSharp/Shared/NavMenu.razor.css b/src/CraftSharp/Shared/NavMenu.razor.css deleted file mode 100644 index a388b8e..0000000 --- a/src/CraftSharp/Shared/NavMenu.razor.css +++ /dev/null @@ -1,85 +0,0 @@ -.navbar-toggler { - background-color: rgba(255, 255, 255, 0.1); -} - -.top-row { - height: 3.5rem; - background-color: rgba(0,0,0,0.4); -} - -.navbar-brand { - font-size: 1.1rem; -} - -.oi { - width: 3rem; - font-size: 1.7rem; - top: -2px; - -} - -.nav-image { - width: 20rem; - color: #ffffff; -} - -.button { - height: 6rem; - width: 13rem; - text-decoration: none; - text-align: center; - color: white; - cursor: pointer; - background: url('Images/btn1.png') no-repeat; - font-family: SilkscreenNormal; - line-height: 26px; - padding-top: 6px; -} - -.button:hover { - background: url('Images/btn2.png') no-repeat; -} - -.nav-item { - font-size: 0.9rem; - padding-bottom: 0.5rem; - font-family: SuperDario; -} - - .nav-item:first-of-type { - padding-top: 1rem; - } - - .nav-item:last-of-type { - padding-bottom: 1rem; - } - - .nav-item ::deep a { - color: #d7d7d7; - border-radius: 4px; - height: 3rem; - display: flex; - align-items: center; - line-height: 3rem; - } - -.nav-item ::deep a.active { - background-color: rgba(255,255,255,0.25); - color: white; -} - -.nav-item ::deep a:hover { - background-color: rgba(255,255,255,0.1); - color: white; -} - -@media (min-width: 641px) { - .navbar-toggler { - display: none; - } - - .collapse { - /* Never collapse the sidebar for wide screens */ - display: block; - } -} diff --git a/src/CraftSharp/wwwroot/css/site.css b/src/CraftSharp/wwwroot/css/site.css index 1f4b8cf..cbffd44 100644 --- a/src/CraftSharp/wwwroot/css/site.css +++ b/src/CraftSharp/wwwroot/css/site.css @@ -18,6 +18,10 @@ a, .btn-link { border-color: #1861ac; } +.table { + color: #ffffff; +} + .content { padding-top: 1.1rem; }