feat: All models added to game service
This commit is contained in:
@@ -20,6 +20,9 @@ public class ApplicationContext : DbContext
|
|||||||
public required DbSet<RankSkillRule> RankSkillRules { get; set; }
|
public required DbSet<RankSkillRule> RankSkillRules { get; set; }
|
||||||
public required DbSet<PlayerSkill> PlayerSkills { get; set; }
|
public required DbSet<PlayerSkill> PlayerSkills { get; set; }
|
||||||
public required DbSet<PlayerMission> PlayerMissions { get; set; }
|
public required DbSet<PlayerMission> PlayerMissions { get; set; }
|
||||||
|
public required DbSet<Dialogue> Dialogues { get; set; }
|
||||||
|
public required DbSet<DialogueMessage> DialogueMessages { get; set; }
|
||||||
|
public required DbSet<DialogueMessageResponseOption> DialogueMessageResponseOptions { get; set; }
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
{
|
{
|
||||||
@@ -63,6 +66,12 @@ public class ApplicationContext : DbContext
|
|||||||
.WithMany(m => m.ChildMissions)
|
.WithMany(m => m.ChildMissions)
|
||||||
.HasForeignKey(m => m.ParentMissionId)
|
.HasForeignKey(m => m.ParentMissionId)
|
||||||
.IsRequired(false);
|
.IsRequired(false);
|
||||||
|
// Dialogue relationship for Mission
|
||||||
|
modelBuilder.Entity<Mission>()
|
||||||
|
.HasOne(m => m.Dialogue)
|
||||||
|
.WithOne(d => d.Mission)
|
||||||
|
.HasForeignKey<Mission>(m => m.DialogueId)
|
||||||
|
.IsRequired(false);
|
||||||
|
|
||||||
// MissionRankRule configurations
|
// MissionRankRule configurations
|
||||||
modelBuilder.Entity<MissionRankRule>()
|
modelBuilder.Entity<MissionRankRule>()
|
||||||
@@ -129,5 +138,45 @@ public class ApplicationContext : DbContext
|
|||||||
.HasOne(pm => pm.Mission)
|
.HasOne(pm => pm.Mission)
|
||||||
.WithMany(m => m.PlayerMissions)
|
.WithMany(m => m.PlayerMissions)
|
||||||
.HasForeignKey(pm => pm.MissionId);
|
.HasForeignKey(pm => pm.MissionId);
|
||||||
|
|
||||||
|
// Dialogue configurations
|
||||||
|
modelBuilder.Entity<Dialogue>()
|
||||||
|
.HasOne(d => d.Mission)
|
||||||
|
.WithOne(m => m.Dialogue)
|
||||||
|
.HasForeignKey<Dialogue>(d => d.MissionId)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
// DialogueMessage configurations
|
||||||
|
modelBuilder.Entity<DialogueMessage>()
|
||||||
|
.HasOne(dm => dm.InitialDialogue)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(dm => dm.InitialDialogueId)
|
||||||
|
.IsRequired(false)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
modelBuilder.Entity<DialogueMessage>()
|
||||||
|
.HasOne(dm => dm.InterimDialogue)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(dm => dm.InterimDialogueId)
|
||||||
|
.IsRequired(false)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
modelBuilder.Entity<DialogueMessage>()
|
||||||
|
.HasOne(dm => dm.EndDialogue)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(dm => dm.EndDialogueId)
|
||||||
|
.IsRequired(false)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
// DialogueMessageResponseOption configurations
|
||||||
|
modelBuilder.Entity<DialogueMessageResponseOption>()
|
||||||
|
.HasOne(dmro => dmro.ParentDialogueMessage)
|
||||||
|
.WithMany(dm => dm.DialogueMessageResponseOptions)
|
||||||
|
.HasForeignKey(dmro => dmro.ParentDialogueMessageId)
|
||||||
|
.IsRequired();
|
||||||
|
modelBuilder.Entity<DialogueMessageResponseOption>()
|
||||||
|
.HasOne(dmro => dmro.DestinationDialogueMessage)
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey(dmro => dmro.DestinationDialogueMessageId)
|
||||||
|
.IsRequired(false)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
Models/Database/Dialogue.cs
Normal file
16
Models/Database/Dialogue.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
namespace GamificationService.Models.Database;
|
||||||
|
|
||||||
|
public class Dialogue
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
|
public Guid MissionId { get; set; }
|
||||||
|
public required Mission Mission { get; set; }
|
||||||
|
|
||||||
|
public Guid InitialDialogueMessageId { get; set; }
|
||||||
|
public Dialogue? InitialDialogueMessage { get; set; }
|
||||||
|
public Guid InterimDialogueMessageId { get; set; }
|
||||||
|
public Dialogue? InterimDialogueMessage { get; set; }
|
||||||
|
public Guid EndDialogueMessageId { get; set; }
|
||||||
|
public Dialogue? EndDialogueMessage { get; set; }
|
||||||
|
}
|
||||||
27
Models/Database/DialogueMessage.cs
Normal file
27
Models/Database/DialogueMessage.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using GamificationService.Models.Enums;
|
||||||
|
|
||||||
|
namespace GamificationService.Models.Database;
|
||||||
|
|
||||||
|
public class DialogueMessage
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
public Character CharacterLeft { get; set; } = Character.None;
|
||||||
|
public Character CharacterRight { get; set; } = Character.None;
|
||||||
|
public CharacterAnimation CharacterLeftAnim { get; set; } = CharacterAnimation.Neutral;
|
||||||
|
public CharacterAnimation CharacterRightAnim { get; set; } = CharacterAnimation.Neutral;
|
||||||
|
public string CharacterLeftMessage { get; set; } = string.Empty;
|
||||||
|
public string CharacterRightMessage { get; set; } = string.Empty;
|
||||||
|
public MessageStyle CharacterLeftMessageStyle { get; set; } = MessageStyle.Normal;
|
||||||
|
public MessageStyle CharacterRightMessageStyle { get; set; } = MessageStyle.Normal;
|
||||||
|
public bool AllowMessageAi { get; set; }
|
||||||
|
public string MessageAiButtonText { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public Guid InitialDialogueId { get; set; }
|
||||||
|
public Dialogue? InitialDialogue { get; set; }
|
||||||
|
public Guid InterimDialogueId { get; set; }
|
||||||
|
public Dialogue? InterimDialogue { get; set; }
|
||||||
|
public Guid EndDialogueId { get; set; }
|
||||||
|
public Dialogue? EndDialogue { get; set; }
|
||||||
|
|
||||||
|
public ICollection<DialogueMessageResponseOption> DialogueMessageResponseOptions = new List<DialogueMessageResponseOption>();
|
||||||
|
}
|
||||||
16
Models/Database/DialogueMessageResponseOption.cs
Normal file
16
Models/Database/DialogueMessageResponseOption.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
using GamificationService.Models.Enums;
|
||||||
|
|
||||||
|
namespace GamificationService.Models.Database;
|
||||||
|
|
||||||
|
public class DialogueMessageResponseOption
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
public string Message { get; set; } = "...";
|
||||||
|
public MessageStyle MessageStyle { get; set; } = MessageStyle.Normal;
|
||||||
|
public int z { get; set; }
|
||||||
|
|
||||||
|
public Guid ParentDialogueMessageId { get; set; }
|
||||||
|
public required DialogueMessage ParentDialogueMessage { get; set; }
|
||||||
|
public Guid DestinationDialogueMessageId { get; set; }
|
||||||
|
public DialogueMessage? DestinationDialogueMessage { get; set; }
|
||||||
|
}
|
||||||
@@ -12,6 +12,9 @@ public class Mission
|
|||||||
public int ExpReward { get; set; }
|
public int ExpReward { get; set; }
|
||||||
public int ManaReward { get; set; }
|
public int ManaReward { get; set; }
|
||||||
|
|
||||||
|
public Guid DialogueId { get; set; }
|
||||||
|
public Dialogue? Dialogue { get; set; }
|
||||||
|
|
||||||
public ICollection<Mission> ChildMissions { get; set; } = new List<Mission>();
|
public ICollection<Mission> ChildMissions { get; set; } = new List<Mission>();
|
||||||
public ICollection<PlayerMission> PlayerMissions { get; set; } = new List<PlayerMission>();
|
public ICollection<PlayerMission> PlayerMissions { get; set; } = new List<PlayerMission>();
|
||||||
public ICollection<MissionItemReward> MissionItemRewards { get; set; } = new List<MissionItemReward>();
|
public ICollection<MissionItemReward> MissionItemRewards { get; set; } = new List<MissionItemReward>();
|
||||||
|
|||||||
11
Models/Enums/Character.cs
Normal file
11
Models/Enums/Character.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
namespace GamificationService.Models.Enums;
|
||||||
|
|
||||||
|
public enum Character
|
||||||
|
{
|
||||||
|
None,
|
||||||
|
Assistant,
|
||||||
|
Pilot,
|
||||||
|
Janitor,
|
||||||
|
Administrator,
|
||||||
|
Mechanic
|
||||||
|
}
|
||||||
18
Models/Enums/CharacterAnimation.cs
Normal file
18
Models/Enums/CharacterAnimation.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
namespace GamificationService.Models.Enums;
|
||||||
|
|
||||||
|
public enum CharacterAnimation
|
||||||
|
{
|
||||||
|
Neutral,
|
||||||
|
Happy,
|
||||||
|
Laughter,
|
||||||
|
Mock,
|
||||||
|
Sad,
|
||||||
|
Crying,
|
||||||
|
Annoyed,
|
||||||
|
Angry,
|
||||||
|
Threats,
|
||||||
|
Wave,
|
||||||
|
Silhouette,
|
||||||
|
Scared,
|
||||||
|
Embarassed
|
||||||
|
}
|
||||||
9
Models/Enums/MessageStyle.cs
Normal file
9
Models/Enums/MessageStyle.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace GamificationService.Models.Enums;
|
||||||
|
|
||||||
|
public enum MessageStyle
|
||||||
|
{
|
||||||
|
Normal,
|
||||||
|
Loud,
|
||||||
|
Think,
|
||||||
|
Action
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user