From 53e52dbae3dc933d03f30c4534db93c7ef89c88e Mon Sep 17 00:00:00 2001 From: Raymond Date: Thu, 15 Jul 2021 14:28:06 -0400 Subject: [PATCH] Simplify Resolvers, move to ClientState.Resolvers namespace --- .../Actors/Resolvers/BaseResolver.cs | 22 ------------ .../ClientState/Actors/Resolvers/ClassJob.cs | 31 ----------------- .../ClientState/Actors/Resolvers/World.cs | 31 ----------------- .../ClientState/Resolvers/BaseResolver{T}.cs | 34 +++++++++++++++++++ .../ClientState/Resolvers/ClassJobResolver.cs | 19 +++++++++++ .../ClientState/Resolvers/FateResolver.cs | 19 +++++++++++ .../Resolvers/TerritoryTypeResolver.cs | 19 +++++++++++ .../ClientState/Resolvers/WorldResolver.cs | 19 +++++++++++ 8 files changed, 110 insertions(+), 84 deletions(-) delete mode 100644 Dalamud/Game/ClientState/Actors/Resolvers/BaseResolver.cs delete mode 100644 Dalamud/Game/ClientState/Actors/Resolvers/ClassJob.cs delete mode 100644 Dalamud/Game/ClientState/Actors/Resolvers/World.cs create mode 100644 Dalamud/Game/ClientState/Resolvers/BaseResolver{T}.cs create mode 100644 Dalamud/Game/ClientState/Resolvers/ClassJobResolver.cs create mode 100644 Dalamud/Game/ClientState/Resolvers/FateResolver.cs create mode 100644 Dalamud/Game/ClientState/Resolvers/TerritoryTypeResolver.cs create mode 100644 Dalamud/Game/ClientState/Resolvers/WorldResolver.cs diff --git a/Dalamud/Game/ClientState/Actors/Resolvers/BaseResolver.cs b/Dalamud/Game/ClientState/Actors/Resolvers/BaseResolver.cs deleted file mode 100644 index 035b8b817..000000000 --- a/Dalamud/Game/ClientState/Actors/Resolvers/BaseResolver.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace Dalamud.Game.ClientState.Actors.Resolvers -{ - /// - /// Base object resolver. - /// - public abstract class BaseResolver - { - /// - /// Initializes a new instance of the class. - /// - /// The Dalamud instance. - internal BaseResolver(Dalamud dalamud) - { - this.Dalamud = dalamud; - } - - /// - /// Gets the Dalamud instance. - /// - private protected Dalamud Dalamud { get; } - } -} diff --git a/Dalamud/Game/ClientState/Actors/Resolvers/ClassJob.cs b/Dalamud/Game/ClientState/Actors/Resolvers/ClassJob.cs deleted file mode 100644 index cb4fd771f..000000000 --- a/Dalamud/Game/ClientState/Actors/Resolvers/ClassJob.cs +++ /dev/null @@ -1,31 +0,0 @@ -namespace Dalamud.Game.ClientState.Actors.Resolvers -{ - /// - /// This object represents a class or job. - /// - public class ClassJob : BaseResolver - { - /// - /// Initializes a new instance of the class. - /// Set up the ClassJob resolver with the provided ID. - /// - /// The ID of the classJob. - /// The Dalamud instance. - internal ClassJob(byte id, Dalamud dalamud) - : base(dalamud) - { - this.Id = id; - } - - /// - /// Gets the ID of the ClassJob. - /// - public uint Id { get; } - - /// - /// Gets GameData linked to this ClassJob. - /// - public Lumina.Excel.GeneratedSheets.ClassJob GameData => - this.Dalamud.Data.GetExcelSheet().GetRow(this.Id); - } -} diff --git a/Dalamud/Game/ClientState/Actors/Resolvers/World.cs b/Dalamud/Game/ClientState/Actors/Resolvers/World.cs deleted file mode 100644 index 993b3dde5..000000000 --- a/Dalamud/Game/ClientState/Actors/Resolvers/World.cs +++ /dev/null @@ -1,31 +0,0 @@ -namespace Dalamud.Game.ClientState.Actors.Resolvers -{ - /// - /// This object represents a world a character can reside on. - /// - public class World : BaseResolver - { - /// - /// Initializes a new instance of the class. - /// Set up the world resolver with the provided ID. - /// - /// The ID of the world. - /// The Dalamud instance. - internal World(ushort id, Dalamud dalamud) - : base(dalamud) - { - this.Id = id; - } - - /// - /// Gets the ID of the world. - /// - public uint Id { get; } - - /// - /// Gets GameData linked to this world. - /// - public Lumina.Excel.GeneratedSheets.World GameData => - this.Dalamud.Data.GetExcelSheet().GetRow(this.Id); - } -} diff --git a/Dalamud/Game/ClientState/Resolvers/BaseResolver{T}.cs b/Dalamud/Game/ClientState/Resolvers/BaseResolver{T}.cs new file mode 100644 index 000000000..2ded995d7 --- /dev/null +++ b/Dalamud/Game/ClientState/Resolvers/BaseResolver{T}.cs @@ -0,0 +1,34 @@ +using Lumina.Excel; + +namespace Dalamud.Game.ClientState.Resolvers +{ + /// + /// This object represents a class or job. + /// + /// The type of Lumina sheet to resolve. + public class BaseResolver where T : ExcelRow + { + private readonly Dalamud dalamud; + + /// + /// Initializes a new instance of the class. + /// + /// The ID of the classJob. + /// The Dalamud instance. + internal BaseResolver(uint id, Dalamud dalamud) + { + this.dalamud = dalamud; + this.Id = id; + } + + /// + /// Gets the ID to be resolved. + /// + public uint Id { get; } + + /// + /// Gets GameData linked to this excel row. + /// + public T GameData => this.dalamud.Data.GetExcelSheet().GetRow(this.Id); + } +} diff --git a/Dalamud/Game/ClientState/Resolvers/ClassJobResolver.cs b/Dalamud/Game/ClientState/Resolvers/ClassJobResolver.cs new file mode 100644 index 000000000..b9603838d --- /dev/null +++ b/Dalamud/Game/ClientState/Resolvers/ClassJobResolver.cs @@ -0,0 +1,19 @@ +namespace Dalamud.Game.ClientState.Resolvers +{ + /// + /// This object represents a class or job. + /// + public class ClassJobResolver : BaseResolver + { + /// + /// Initializes a new instance of the class. + /// Set up the ClassJob resolver with the provided ID. + /// + /// The ID of the classJob. + /// The Dalamud instance. + internal ClassJobResolver(ushort id, Dalamud dalamud) + : base(id, dalamud) + { + } + } +} diff --git a/Dalamud/Game/ClientState/Resolvers/FateResolver.cs b/Dalamud/Game/ClientState/Resolvers/FateResolver.cs new file mode 100644 index 000000000..15f2fce0d --- /dev/null +++ b/Dalamud/Game/ClientState/Resolvers/FateResolver.cs @@ -0,0 +1,19 @@ +namespace Dalamud.Game.ClientState.Resolvers +{ + /// + /// This object represents a Fate a character can participate in. + /// + public class FateResolver : BaseResolver + { + /// + /// Initializes a new instance of the class. + /// Set up the Fate resolver with the provided ID. + /// + /// The ID of the Fate. + /// The Dalamud instance. + internal FateResolver(ushort id, Dalamud dalamud) + : base(id, dalamud) + { + } + } +} diff --git a/Dalamud/Game/ClientState/Resolvers/TerritoryTypeResolver.cs b/Dalamud/Game/ClientState/Resolvers/TerritoryTypeResolver.cs new file mode 100644 index 000000000..248bf94bb --- /dev/null +++ b/Dalamud/Game/ClientState/Resolvers/TerritoryTypeResolver.cs @@ -0,0 +1,19 @@ +namespace Dalamud.Game.ClientState.Resolvers +{ + /// + /// This object represents a territory a character can be in. + /// + public class TerritoryTypeResolver : BaseResolver + { + /// + /// Initializes a new instance of the class. + /// Set up the territory type resolver with the provided ID. + /// + /// The ID of the territory type. + /// The Dalamud instance. + internal TerritoryTypeResolver(ushort id, Dalamud dalamud) + : base(id, dalamud) + { + } + } +} diff --git a/Dalamud/Game/ClientState/Resolvers/WorldResolver.cs b/Dalamud/Game/ClientState/Resolvers/WorldResolver.cs new file mode 100644 index 000000000..0d37e3549 --- /dev/null +++ b/Dalamud/Game/ClientState/Resolvers/WorldResolver.cs @@ -0,0 +1,19 @@ +namespace Dalamud.Game.ClientState.Resolvers +{ + /// + /// This object represents a world a character can reside on. + /// + public class WorldResolver : BaseResolver + { + /// + /// Initializes a new instance of the class. + /// Set up the world resolver with the provided ID. + /// + /// The ID of the world. + /// The Dalamud instance. + internal WorldResolver(ushort id, Dalamud dalamud) + : base(id, dalamud) + { + } + } +}