not working inventory :c

This commit is contained in:
2025-02-04 17:47:18 -03:00
parent f234b5d84d
commit 7a2c3d2f67
22 changed files with 2713 additions and 49 deletions

View File

@@ -15,6 +15,10 @@ namespace PetCompanion.Data
public DbSet<Skill> Skills { get; set; }
public DbSet<SkillEffect> SkillEffects { get; set; }
public DbSet<PetSkill> PetSkills { get; set; }
public DbSet<GameItem> GameItems { get; set; }
public DbSet<Inventory> Inventories { get; set; }
public DbSet<InventoryItem> InventoryItems { get; set; }
public DbSet<EquippedItem> EquippedItems { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@@ -48,11 +52,44 @@ namespace PetCompanion.Data
.WithMany(s => s.Effects)
.HasForeignKey(se => se.SkillId);
modelBuilder.Entity<InventoryItem>()
.HasOne<Inventory>()
.WithMany(i => i.Items)
.HasForeignKey(ii => ii.InventoryId);
modelBuilder.Entity<InventoryItem>()
.HasOne(ii => ii.GameItem);
modelBuilder.Entity<EquippedItem>()
.HasOne(e => e.Pet)
.WithMany(p => p.EquippedItemsList)
.HasForeignKey(e => e.PetId);
modelBuilder.Entity<EquippedItem>()
.HasOne(e => e.GameItem)
.WithMany()
.HasForeignKey(e => e.GameItemId);
// Seed initial skills
var skills = SkillsData.GetInitialSkills();
foreach (var skill in skills)
var skillWithoutEffects = SkillsData.GetInitialSkills().Select(s => new Skill
{
Id = s.Id,
Name = s.Name,
Type = s.Type,
Description = s.Description,
PointsCost = s.PointsCost,
Icon = s.Icon,
SkillsIdRequired = s.SkillsIdRequired
}).ToList();
foreach (var skill in skillWithoutEffects)
{
modelBuilder.Entity<Skill>().HasData(skill);
}
foreach (var skill in skills)
{
foreach (var effect in skill.Effects)
{
modelBuilder.Entity<SkillEffect>().HasData(effect);