From 15555360c053e002bf6e89a0ff47b226773b7c76 Mon Sep 17 00:00:00 2001 From: ben_pollard Date: Fri, 19 Jan 2024 18:11:25 +0000 Subject: [PATCH 1/3] Refactored templates, half cnverted classes --- .../Assets/Items/Knife.cs | 10 ++-- .../Assets/Player/Player.cs | 10 ++-- .../Assets/Regions/Everglades/Everglades.cs | 12 ++--- .../Regions/Everglades/Items/ConchShell.cs | 10 ++-- .../Assets/Regions/Everglades/Rooms/Cave.cs | 8 +-- .../Regions/Everglades/Rooms/CaveMouth.cs | 8 +-- .../Everglades/Rooms/ForestEntrance.cs | 8 +-- .../Regions/Everglades/Rooms/ForestFloor.cs | 8 +-- .../Everglades/Rooms/GreatWesternOcean.cs | 10 ++-- .../Regions/Everglades/Rooms/InnerCave.cs | 8 +-- .../Regions/Everglades/Rooms/Outskirts.cs | 8 +-- .../Assets/Regions/Flat/Flat.cs | 10 ++-- .../Assets/Regions/Flat/Items/Bath.cs | 10 ++-- .../Assets/Regions/Flat/Items/Bed.cs | 10 ++-- .../Assets/Regions/Flat/Items/Canvas.cs | 10 ++-- .../Regions/Flat/Items/EmptyCoffeeMug.cs | 12 ++--- .../Assets/Regions/Flat/Items/GameCube.cs | 10 ++-- .../Assets/Regions/Flat/Items/Guitar.cs | 10 ++-- .../Assets/Regions/Flat/Items/HamsterCage.cs | 10 ++-- .../Assets/Regions/Flat/Items/Kettle.cs | 8 +-- .../Assets/Regions/Flat/Items/Lead.cs | 10 ++-- .../Assets/Regions/Flat/Items/LoungeTV.cs | 10 ++-- .../Assets/Regions/Flat/Items/Map.cs | 10 ++-- .../Assets/Regions/Flat/Items/Mirror.cs | 10 ++-- .../Assets/Regions/Flat/Items/MugOfCoffee.cs | 10 ++-- .../Assets/Regions/Flat/Items/Picture.cs | 10 ++-- .../Assets/Regions/Flat/Items/Skylight.cs | 10 ++-- .../Assets/Regions/Flat/Items/TV.cs | 10 ++-- .../Assets/Regions/Flat/Items/Table.cs | 10 ++-- .../Assets/Regions/Flat/Items/Telephone.cs | 10 ++-- .../Assets/Regions/Flat/Items/Toilet.cs | 10 ++-- .../Assets/Regions/Flat/NPCs/Beth.cs | 8 +-- .../Assets/Regions/Flat/Rooms/Attic.cs | 8 +-- .../Assets/Regions/Flat/Rooms/Bathroom.cs | 14 ++--- .../Assets/Regions/Flat/Rooms/Bedroom.cs | 14 ++--- .../Regions/Flat/Rooms/EasternHallway.cs | 10 ++-- .../Assets/Regions/Flat/Rooms/Kitchen.cs | 12 ++--- .../Assets/Regions/Flat/Rooms/Lounge.cs | 22 ++++---- .../Assets/Regions/Flat/Rooms/Roof.cs | 12 ++--- .../Assets/Regions/Flat/Rooms/SpareBedroom.cs | 12 ++--- .../Assets/Regions/Flat/Rooms/Stairway.cs | 8 +-- .../Regions/Flat/Rooms/WesternHallway.cs | 8 +-- .../Assets/Regions/Hub/Hub.cs | 12 ++--- .../Assets/Regions/Hub/Rooms/Clearing.cs | 8 +-- .../Assets/Regions/Zelda/Items/Bush.cs | 10 ++-- .../Assets/Regions/Zelda/Items/Rupee.cs | 10 ++-- .../Assets/Regions/Zelda/Items/Shield.cs | 10 ++-- .../Regions/Zelda/Items/SplintersOfWood.cs | 10 ++-- .../Assets/Regions/Zelda/Items/Stump.cs | 10 ++-- .../Assets/Regions/Zelda/Items/Sword.cs | 10 ++-- .../Assets/Regions/Zelda/Items/Table.cs | 10 ++-- .../Assets/Regions/Zelda/Items/TailDoor.cs | 10 ++-- .../Assets/Regions/Zelda/Items/TailKey.cs | 10 ++-- .../Assets/Regions/Zelda/Items/YoshiDoll.cs | 10 ++-- .../Assets/Regions/Zelda/NPCs/Saria.cs | 11 ++-- .../Assets/Regions/Zelda/Rooms/LinksHouse.cs | 16 +++--- .../Regions/Zelda/Rooms/OutsideLinksHouse.cs | 15 +++--- .../Assets/Regions/Zelda/Rooms/Stream.cs | 14 ++--- .../Assets/Regions/Zelda/Rooms/TailCave.cs | 8 +-- .../Assets/Regions/Zelda/Zelda.cs | 12 ++--- .../Utilities/Templates/ItemTemplate.cs | 52 ++----------------- .../Templates/NonPlayableCharacterTemplate.cs | 52 ++----------------- .../Templates/PlayableCharacterTemplate.cs | 30 ++--------- .../Utilities/Templates/RegionTemplate.cs | 51 ++---------------- .../Utilities/Templates/RoomTemplate.cs | 51 ++---------------- 65 files changed, 321 insertions(+), 539 deletions(-) diff --git a/BP.AdventureFramework.Examples/Assets/Items/Knife.cs b/BP.AdventureFramework.Examples/Assets/Items/Knife.cs index a2d3273e..275af60e 100644 --- a/BP.AdventureFramework.Examples/Assets/Items/Knife.cs +++ b/BP.AdventureFramework.Examples/Assets/Items/Knife.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Items { - public class Knife : ItemTemplate + public class Knife : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Knife : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Player/Player.cs b/BP.AdventureFramework.Examples/Assets/Player/Player.cs index d02c01d6..a36551fb 100644 --- a/BP.AdventureFramework.Examples/Assets/Player/Player.cs +++ b/BP.AdventureFramework.Examples/Assets/Player/Player.cs @@ -7,7 +7,7 @@ namespace BP.AdventureFramework.Examples.Assets.Player { - public class Player : PlayableCharacterTemplate + public class Player : PlayableCharacterTemplate { #region Constants @@ -16,15 +16,15 @@ public class Player : PlayableCharacterTemplate #endregion - #region Overrides of PlayableCharacterTemplate + #region Overrides of PlayableCharacterTemplate /// - /// Create a new instance of the playable character. + /// Instantiate a new instance of the playable character. /// /// The playable character. - protected override PlayableCharacter OnCreate() + public override PlayableCharacter Instantiate() { - var player = new PlayableCharacter(Name, Description, Knife.Create()) + var player = new PlayableCharacter(Name, Description, new Knife().Instantiate()) { Interaction = (i, _) => { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs index 3f415f2c..ae908249 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs @@ -1,12 +1,11 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Locations; +using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms; using BP.AdventureFramework.Utilities; using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades { - internal class Everglades : RegionTemplate + internal class Everglades : RegionTemplate { #region Constants @@ -15,14 +14,13 @@ internal class Everglades : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Overrides of RegionTemplate /// - /// Create a new instance of the region. + /// Instantiate a new instance of the region. /// - /// The playable character. /// The region. - protected override Region OnCreate(PlayableCharacter pC) + public override Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs index e6b2f80e..a3948e35 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs @@ -5,7 +5,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Items { - public class ConchShell : ItemTemplate + public class ConchShell : ItemTemplate { #region Constants @@ -14,13 +14,13 @@ public class ConchShell : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { var conchShell = new Item(Name, Description, true) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs index f32c07eb..b1b38af2 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class Cave : RoomTemplate + internal class Cave : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Cave : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.East), new Exit(Direction.South)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs index 7f9be9a2..fe4e6107 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class CaveMouth : RoomTemplate + internal class CaveMouth : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class CaveMouth : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South), new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs index ea2ca880..1beb5185 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class ForestEntrance : RoomTemplate + internal class ForestEntrance : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class ForestEntrance : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs index 2c1b0de8..f4f09b06 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class ForestFloor : RoomTemplate + internal class ForestFloor : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class ForestFloor : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs index 6b269db2..07ea0805 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs @@ -4,7 +4,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class GreatWesternOcean : RoomTemplate + internal class GreatWesternOcean : RoomTemplate { #region Constants @@ -13,16 +13,16 @@ internal class GreatWesternOcean : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.East)); - room.AddItem(ConchShell.Create()); + room.AddItem(new ConchShell().Instantiate()); return room; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs index 28bf5a1b..ce260077 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs @@ -8,7 +8,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class InnerCave : RoomTemplate + internal class InnerCave : RoomTemplate { #region Constants @@ -16,13 +16,13 @@ internal class InnerCave : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.West), new Exit(Direction.North, true)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs index 9be0c587..a6a7e1ab 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class Outskirts : RoomTemplate + internal class Outskirts : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Outskirts : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.South)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs index d3fcf0e5..d7fc3e47 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs @@ -1,5 +1,4 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Assets.Characters; using BP.AdventureFramework.Assets.Interaction; using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; @@ -11,7 +10,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat { - internal class Flat : RegionTemplate + internal class Flat : RegionTemplate { #region Constants @@ -20,14 +19,13 @@ internal class Flat : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Overrides of RegionTemplate /// - /// Create a new instance of the region. + /// Instantiate a new instance of the region. /// - /// The playable character. /// The region. - protected override Region OnCreate(PlayableCharacter pC) + public override Region Instantiate() { var roof = Roof.Create(); var easternHallway = EasternHallway.Create(); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs index be39419f..b4928d2e 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Bath : ItemTemplate + public class Bath : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Bath : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs index 9bc62303..1de553b3 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Bed : ItemTemplate + public class Bed : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Bed : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs index 412e8b22..99e6d5ea 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Canvas : ItemTemplate + public class Canvas : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Canvas : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs index c44e520b..b5c1cef2 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs @@ -5,7 +5,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class EmptyCoffeeMug : ItemTemplate + public class EmptyCoffeeMug : ItemTemplate { #region Constants @@ -14,13 +14,13 @@ public class EmptyCoffeeMug : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true) { @@ -29,7 +29,7 @@ protected override Item OnCreate() if (Kettle.Name.EqualsIdentifier(i.Identifier)) { var item = target as Item; - item?.Morph(MugOfCoffee.Create()); + item?.Morph(new MugOfCoffee().Instantiate()); return new InteractionResult(InteractionEffect.ItemMorphed, i, "You put some instant coffee graduals into the mug and add some freshly boiled water from the Kettle. The coffee smells amazing!"); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs index cd2f87e7..0ab8dada 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class GameCube : ItemTemplate + public class GameCube : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class GameCube : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs index 96f67d49..8cbaf313 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Guitar : ItemTemplate + public class Guitar : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Guitar : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs index 94127a65..f573cd45 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class HamsterCage : ItemTemplate + public class HamsterCage : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class HamsterCage : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs index 7c2faa98..62088d35 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs @@ -14,13 +14,13 @@ public class Kettle : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs index 53608b3a..6cf2941c 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Lead : ItemTemplate + public class Lead : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Lead : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs index e7056560..dfc64597 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class LoungeTV : ItemTemplate + public class LoungeTV : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class LoungeTV : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs index 25189fcb..1177ff41 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Map : ItemTemplate + public class Map : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Map : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs index 33302389..39a2c650 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Mirror : ItemTemplate + public class Mirror : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Mirror : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs index 51abb9d3..1dbe9f6f 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class MugOfCoffee : ItemTemplate + public class MugOfCoffee : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class MugOfCoffee : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs index 62e1d69b..0e042a20 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Picture : ItemTemplate + public class Picture : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Picture : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs index 82f235e7..91a9325f 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Skylight : ItemTemplate + public class Skylight : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Skylight : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs index 247b46df..24ac623f 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class TV : ItemTemplate + public class TV : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class TV : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs index 8c478497..400648a5 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Table : ItemTemplate + public class Table : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Table : ItemTemplate
#endregion - #region Overrides of ItemTemplate
+ #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs index 8cdcec88..1ed16231 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Telephone : ItemTemplate + public class Telephone : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Telephone : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs index 6f082fdb..94797b36 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Toilet : ItemTemplate + public class Toilet : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Toilet : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs index 02457e62..b9480365 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs @@ -4,7 +4,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.NPCs { - internal class Beth : NonPlayableCharacterTemplate + internal class Beth : NonPlayableCharacterTemplate { #region Constants @@ -13,13 +13,13 @@ internal class Beth : NonPlayableCharacterTemplate #endregion - #region Overrides of NonPlayableCharacterTemplate + #region Overrides of NonPlayableCharacterTemplate /// - /// Create a new instance of the non-playable character. + /// Instantiate a new instance of the non-playable character. /// /// The non-playable character. - protected override NonPlayableCharacter OnCreate() + public override NonPlayableCharacter Instantiate() { return new NonPlayableCharacter(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs index d221440f..621eae91 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Attic : RoomTemplate + internal class Attic : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Attic : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.Down)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs index 281d7c0b..e8443099 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs @@ -4,7 +4,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Bathroom : RoomTemplate + internal class Bathroom : RoomTemplate { #region Constants @@ -13,19 +13,19 @@ internal class Bathroom : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South)); - room.AddItem(Bath.Create()); - room.AddItem(Toilet.Create()); - room.AddItem(Mirror.Create()); + room.AddItem(new Bath().Instantiate()); + room.AddItem(new Toilet().Instantiate()); + room.AddItem(new Mirror().Instantiate()); return room; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs index ee678c5b..c750dd70 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs @@ -4,7 +4,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Bedroom : RoomTemplate + internal class Bedroom : RoomTemplate { #region Constants @@ -13,19 +13,19 @@ internal class Bedroom : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.Up)); - room.AddItem(Bed.Create()); - room.AddItem(Picture.Create()); - room.AddItem(TV.Create()); + room.AddItem(new Bed().Instantiate()); + room.AddItem(new Picture().Instantiate()); + room.AddItem(new TV().Instantiate()); return room; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs index efc38fad..dad74292 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs @@ -4,7 +4,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class EasternHallway : RoomTemplate + internal class EasternHallway : RoomTemplate { #region Constants @@ -13,17 +13,17 @@ internal class EasternHallway : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.East, true), new Exit(Direction.West)); - room.AddItem(Telephone.Create()); + room.AddItem(new Telephone().Instantiate()); return room; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs index c2aec86b..6d5e39c2 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs @@ -6,7 +6,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Kitchen : RoomTemplate + internal class Kitchen : RoomTemplate { #region Constants @@ -15,18 +15,18 @@ internal class Kitchen : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South), new Exit(Direction.East)); - room.AddItem(HamsterCage.Create()); - room.AddItem(Kettle.Create()); + room.AddItem(new HamsterCage().Instantiate()); + room.AddItem(new Kettle().Instantiate()); room.Interaction = (i, target) => { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs index 65827844..52929487 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs @@ -7,7 +7,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Lounge : RoomTemplate + internal class Lounge : RoomTemplate { #region Constants @@ -15,22 +15,22 @@ internal class Lounge : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.North)); - room.AddCharacter(Beth.Create()); - room.AddItem(Map.Create()); - room.AddItem(Canvas.Create()); - room.AddItem(Table.Create()); - room.AddItem(LoungeTV.Create()); - room.AddItem(Lead.Create()); + room.AddCharacter(new Beth().Instantiate()); + room.AddItem(new Map().Instantiate()); + room.AddItem(new Canvas().Instantiate()); + room.AddItem(new Table().Instantiate()); + room.AddItem(new LoungeTV().Instantiate()); + room.AddItem(new Lead().Instantiate()); room.Interaction = (i, target) => { @@ -43,7 +43,7 @@ protected override Room OnCreate() if (obj.ContainsCharacter(Beth.Name)) return new InteractionResult(InteractionEffect.ItemUsedUp, i, "Beth takes the cup of coffee and smiles. Brownie points to you!"); - i.Morph(EmptyCoffeeMug.Create()); + i.Morph(new EmptyCoffeeMug().Instantiate()); return new InteractionResult(InteractionEffect.ItemMorphed, i, "As no one is about you decide to drink the coffee yourself. Your nose wasn't lying, it is bitter but delicious."); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs index 4c2bf441..8f198480 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs @@ -5,7 +5,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Roof : RoomTemplate + internal class Roof : RoomTemplate { #region Constants @@ -13,18 +13,18 @@ internal class Roof : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.South)); - room.AddItem(Skylight.Create()); - room.AddItem(EmptyCoffeeMug.Create()); + room.AddItem(new Skylight().Instantiate()); + room.AddItem(new EmptyCoffeeMug().Instantiate()); room.Description = new ConditionalDescription("The roof is small and gravely, and it hurts your shoe-less feet to stand on it. There is a large skylight in the center of the roof, and a empty coffee mug sits to the side, indicating someone has been here recently. The window behind you south leads back into the bathroom.", "The roof is small and gravely, and it hurts your shoe-less feet to stand on it. There is a large skylight in the center of the roof. The window behind you south leads back into the bathroom.", diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs index d61e807f..08379cb3 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs @@ -5,7 +5,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class SpareBedroom : RoomTemplate + internal class SpareBedroom : RoomTemplate { #region Constants @@ -13,18 +13,18 @@ internal class SpareBedroom : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.North)); - room.AddItem(GameCube.Create()); - room.AddItem(Guitar.Create()); + room.AddItem(new GameCube().Instantiate()); + room.AddItem(new Guitar().Instantiate()); room.Description = new ConditionalDescription("You are in a very tidy room. The eastern wall is painted in a dark red colour. Against the south wall is a line of guitar amplifiers, all turned on. A very tidy blue guitar rests against the amps just begging to be played. There is a Gamecube against the northern wall. A doorway to the north leads back to the Western Hallway.", "You are in a very tidy room. The eastern wall is painted in a dark red colour. Against the south wall is a line of guitar amplifiers, all turned on. There is a Gamecube against the northern wall. A doorway to the north leads back to the Western Hallway.", diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs index 42baa725..abfe8ccd 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Stairway : RoomTemplate + internal class Stairway : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Stairway : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs index 6ca3b7eb..9f92b3c8 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class WesternHallway : RoomTemplate + internal class WesternHallway : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class WesternHallway : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South), new Exit(Direction.East), new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs index 79ee93f6..1124dea0 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs @@ -1,12 +1,11 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Locations; +using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Hub.Rooms; using BP.AdventureFramework.Utilities; using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Hub { - internal class Hub : RegionTemplate + internal class Hub : RegionTemplate { #region Constants @@ -15,14 +14,13 @@ internal class Hub : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Overrides of RegionTemplate /// - /// Create a new instance of the region. + /// Instantiate a new instance of the region. /// - /// The playable character. /// The region. - protected override Region OnCreate(PlayableCharacter pC) + public override Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs index 2335368a..321c00b2 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs @@ -7,7 +7,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Hub.Rooms { - internal class Clearing : RoomTemplate + internal class Clearing : RoomTemplate { #region Constants @@ -16,13 +16,13 @@ internal class Clearing : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs index 948026ca..b08005df 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Bush : ItemTemplate + public class Bush : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Bush : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs index df106d7a..bd774128 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Rupee : ItemTemplate + public class Rupee : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Rupee : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true) { IsPlayerVisible = false }; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs index bbf9c762..7676faa7 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Shield : ItemTemplate + public class Shield : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Shield : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs index 8c1dada2..ac60e570 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class SplintersOfWood : ItemTemplate + public class SplintersOfWood : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class SplintersOfWood : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs index c8ff835b..55a6be2b 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs @@ -14,13 +14,13 @@ public class Stump : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { var stump = new Item(Name, Description); @@ -33,7 +33,7 @@ protected override Item OnCreate() if (Sword.Name.EqualsExaminable(item)) { - stump.Morph(SplintersOfWood.Create()); + stump.Morph(new SplintersOfWood().Instantiate()); return new InteractionResult(InteractionEffect.ItemMorphed, item, "You chop the stump into tiny pieces in a mad rage. All that is left is some splinters of wood."); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs index 3cb7fbe6..f0d9c7d0 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Sword : ItemTemplate + public class Sword : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Sword : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs index 354b1003..8f9866c1 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Table : ItemTemplate
+ public class Table : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class Table : ItemTemplate
#endregion - #region Overrides of ItemTemplate
+ #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs index 862c11e4..4f980703 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class TailDoor : ItemTemplate + public class TailDoor : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class TailDoor : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs index 8a5399bd..f9f7fe4f 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class TailKey : ItemTemplate + public class TailKey : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class TailKey : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs index cf917cfb..2cfc2e7a 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class YoshiDoll : ItemTemplate + public class YoshiDoll : ItemTemplate { #region Constants @@ -12,13 +12,13 @@ public class YoshiDoll : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Overrides of ItemTemplate /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// - /// The region. - protected override Item OnCreate() + /// The item. + public override Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs index 39f0e343..e042b003 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs @@ -1,6 +1,5 @@ using BP.AdventureFramework.Assets.Characters; using BP.AdventureFramework.Assets.Interaction; -using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Conversations; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; using BP.AdventureFramework.Extensions; @@ -8,7 +7,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.NPCs { - internal class Saria : NonPlayableCharacterTemplate + internal class Saria : NonPlayableCharacterTemplate { #region Constants @@ -17,15 +16,13 @@ internal class Saria : NonPlayableCharacterTemplate #endregion - #region Overrides of NonPlayableCharacterTemplate + #region Overrides of NonPlayableCharacterTemplate /// - /// Create a new instance of the non-playable character. + /// Instantiate a new instance of the non-playable character. /// - /// The playable character. - /// The room. /// The non-playable character. - protected override NonPlayableCharacter OnCreate(PlayableCharacter pC, Room room) + public override NonPlayableCharacter Instantiate() { var saria = new NonPlayableCharacter(Name, Description); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs index 143835d4..ec1ab27e 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs @@ -4,7 +4,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class LinksHouse : RoomTemplate + internal class LinksHouse : RoomTemplate { #region Constants @@ -13,20 +13,20 @@ internal class LinksHouse : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.North)); - room.AddItem(Shield.Create()); - room.AddItem(Table.Create()); - room.AddItem(Sword.Create()); - room.AddItem(YoshiDoll.Create()); + room.AddItem(new Shield().Instantiate()); + room.AddItem(new Table().Instantiate()); + room.AddItem(new Sword().Instantiate()); + room.AddItem(new YoshiDoll().Instantiate()); return room; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs index 73f31c2c..eb67c706 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs @@ -8,7 +8,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class OutsideLinksHouse : RoomTemplate + internal class OutsideLinksHouse : RoomTemplate { #region Constants @@ -17,18 +17,17 @@ internal class OutsideLinksHouse : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// - /// The playable character. /// The room. - protected override Room OnCreate(PlayableCharacter pC) + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South), new Exit(Direction.North), new Exit(Direction.East, true)); - var door = TailDoor.Create(); - var saria = Saria.Create(pC, room); + var door = new TailDoor().Instantiate(); + var saria = new Saria().Instantiate(); door.Interaction = (item, _) => { @@ -47,7 +46,7 @@ protected override Room OnCreate(PlayableCharacter pC) return new InteractionResult(InteractionEffect.NoEffect, item); }; - room.AddItem(Stump.Create()); + room.AddItem(new Stump().Instantiate()); room.AddItem(door); room.AddCharacter(saria); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs index 703c6063..43871a10 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs @@ -7,7 +7,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class Stream : RoomTemplate + internal class Stream : RoomTemplate { #region Constants @@ -16,26 +16,26 @@ internal class Stream : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South)); room.Description = new ConditionalDescription("A small stream flows east to west in front of you. The water is clear, and looks good enough to drink. On the bank is a small bush. To the south is the Kokiri forest", "A small stream flows east to west infront of you. The water is clear, and looks good enough to drink. On the bank is a stump where the bush was. To the south is the Kokiri forest.", () => room.ContainsItem(Bush.Name)); - var bush = Bush.Create(); - var rupee = Rupee.Create(); + var bush = new Bush().Instantiate(); + var rupee = new Rupee().Instantiate(); bush.Interaction = (item, _) => { if (Sword.Name.EqualsExaminable(item)) { - bush.Morph(Stump.Create()); + bush.Morph(new Stump().Instantiate()); rupee.IsPlayerVisible = true; return new InteractionResult(InteractionEffect.ItemMorphed, item, "You slash wildly at the bush and reduce it to a stump. This exposes a red rupee, that must have been what was glinting from within the bush..."); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs index 10a366d6..78a488d7 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs @@ -3,7 +3,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class TailCave : RoomTemplate + internal class TailCave : RoomTemplate { #region Constants @@ -12,13 +12,13 @@ internal class TailCave : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Overrides of RoomTemplate /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected override Room OnCreate() + public override Room Instantiate() { return new Room(Name, Description, new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs index 5597f3cd..02582ce6 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs @@ -1,12 +1,11 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Locations; +using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms; using BP.AdventureFramework.Utilities; using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda { - internal class Zelda : RegionTemplate + internal class Zelda : RegionTemplate { #region Constants @@ -15,14 +14,13 @@ internal class Zelda : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Overrides of RegionTemplate /// - /// Create a new instance of the region. + /// Instantiate a new instance of the region. /// - /// The playable character. /// The region. - protected override Region OnCreate(PlayableCharacter pC) + public override Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { diff --git a/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs b/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs index 10fe2b94..e01fd814 100644 --- a/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs @@ -8,65 +8,19 @@ namespace BP.AdventureFramework.Utilities.Templates /// /// Provides a template class to help with the creation of items. /// - /// The derived type. - public class ItemTemplate where TDerived : ItemTemplate + public class ItemTemplate { #region Methods /// - /// Create a new instance of the item. + /// Instantiate a new instance of the item. /// /// The item. - protected virtual Item OnCreate() + public virtual Item Instantiate() { throw new NotImplementedException(); } - /// - /// Create a new instance of the item. - /// - /// The playable character. - /// The room. - /// The item. - protected virtual Item OnCreate(PlayableCharacter pC, Room room) - { - return OnCreate(); - } - - #endregion - - #region StaticMethods - - /// - /// Get an instance of the derived type. - /// - /// The instance. - private static TDerived GetInstance() - { - var type = typeof(TDerived); - return (TDerived)Activator.CreateInstance(type); - } - - /// - /// Create a new instance of the item. - /// - /// The item. - public static Item Create() - { - return GetInstance().OnCreate(); - } - - /// - /// Create a new instance of the item. - /// - /// The playable character. - /// The room. - /// The playable character. - public static Item Create(PlayableCharacter pC, Room room) - { - return GetInstance().OnCreate(pC, room); - } - #endregion } } diff --git a/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs b/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs index 00ae8156..822c9759 100644 --- a/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs @@ -7,65 +7,19 @@ namespace BP.AdventureFramework.Utilities.Templates /// /// Provides a template class to help with the creation of non-playable characters. /// - /// The derived type. - public class NonPlayableCharacterTemplate where TDerived : NonPlayableCharacterTemplate + public class NonPlayableCharacterTemplate { #region Methods /// - /// Create a new instance of the non-playable character. + /// Instantiate a new instance of the non-playable character. /// /// The non-playable character. - protected virtual NonPlayableCharacter OnCreate() + public virtual NonPlayableCharacter Instantiate() { throw new NotImplementedException(); } - /// - /// Create a new instance of the non-playable character. - /// - /// The playable character. - /// The room. - /// The non-playable character. - protected virtual NonPlayableCharacter OnCreate(PlayableCharacter pC, Room room) - { - return OnCreate(); - } - - #endregion - - #region StaticMethods - - /// - /// Get an instance of the derived type. - /// - /// The instance. - private static TDerived GetInstance() - { - var type = typeof(TDerived); - return (TDerived)Activator.CreateInstance(type); - } - - /// - /// Create a new instance of the non-playable character. - /// - /// The non-playable character. - public static NonPlayableCharacter Create() - { - return GetInstance().OnCreate(); - } - - /// - /// Create a new instance of the non-playable character. - /// - /// The playable character. - /// The room. - /// The non-playable character. - public static NonPlayableCharacter Create(PlayableCharacter pC, Room room) - { - return GetInstance().OnCreate(pC, room); - } - #endregion } } diff --git a/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs b/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs index 673a4d97..a12554f8 100644 --- a/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs @@ -6,43 +6,19 @@ namespace BP.AdventureFramework.Utilities.Templates /// /// Provides a template class to help with the creation of playable characters. /// - /// The derived type. - public class PlayableCharacterTemplate where TDerived : PlayableCharacterTemplate + public class PlayableCharacterTemplate { #region Methods /// - /// Create a new instance of the playable character. + /// Instantiate a new instance of the playable character. /// /// The playable character. - protected virtual PlayableCharacter OnCreate() + public virtual PlayableCharacter Instantiate() { throw new NotImplementedException(); } #endregion - - #region StaticMethods - - /// - /// Get an instance of the derived type. - /// - /// The instance. - private static TDerived GetInstance() - { - var type = typeof(TDerived); - return (TDerived)Activator.CreateInstance(type); - } - - /// - /// Create a new instance of the playable character. - /// - /// The playable character. - public static PlayableCharacter Create() - { - return GetInstance().OnCreate(); - } - - #endregion } } diff --git a/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs b/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs index c993cd16..ccc6043a 100644 --- a/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs @@ -1,5 +1,4 @@ using System; -using BP.AdventureFramework.Assets.Characters; using BP.AdventureFramework.Assets.Locations; namespace BP.AdventureFramework.Utilities.Templates @@ -7,63 +6,19 @@ namespace BP.AdventureFramework.Utilities.Templates /// /// Provides a template class to help with the creation of regions. /// - /// The derived type. - public class RegionTemplate where TDerived : RegionTemplate + public class RegionTemplate { #region Methods /// - /// Create a new instance of the region. + /// Instantiate a new instance of the region. /// /// The region. - protected virtual Region OnCreate() + public virtual Region Instantiate() { throw new NotImplementedException(); } - /// - /// Create a new instance of the region. - /// - /// The playable character. - /// The region. - protected virtual Region OnCreate(PlayableCharacter pC) - { - return OnCreate(); - } - - #endregion - - #region StaticMethods - - /// - /// Get an instance of the derived type. - /// - /// The instance. - private static TDerived GetInstance() - { - var type = typeof(TDerived); - return (TDerived)Activator.CreateInstance(type); - } - - /// - /// Create a new instance of the region. - /// - /// The region. - public static Region Create() - { - return GetInstance().OnCreate(); - } - - /// - /// Create a new instance of the region. - /// - /// The playable character. - /// The region. - public static Region Create(PlayableCharacter pC) - { - return GetInstance().OnCreate(pC); - } - #endregion } } diff --git a/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs b/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs index 54dfc721..f4b87f36 100644 --- a/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs @@ -1,5 +1,4 @@ using System; -using BP.AdventureFramework.Assets.Characters; using BP.AdventureFramework.Assets.Locations; namespace BP.AdventureFramework.Utilities.Templates @@ -7,63 +6,19 @@ namespace BP.AdventureFramework.Utilities.Templates /// /// Provides a template class to help with the creation of rooms. /// - /// The derived type. - public class RoomTemplate where TDerived : RoomTemplate + public class RoomTemplate { #region Methods /// - /// Create a new instance of the room. + /// Instantiate a new instance of the room. /// /// The room. - protected virtual Room OnCreate() + public virtual Room Instantiate() { throw new NotImplementedException(); } - /// - /// Create a new instance of the room. - /// - /// The playable character. - /// The room. - protected virtual Room OnCreate(PlayableCharacter pC) - { - return OnCreate(); - } - - #endregion - - #region StaticMethods - - /// - /// Get an instance of the derived type. - /// - /// The instance. - private static TDerived GetInstance() - { - var type = typeof(TDerived); - return (TDerived)Activator.CreateInstance(type); - } - - /// - /// Create a new instance of the room. - /// - /// The room. - public static Room Create() - { - return GetInstance().OnCreate(); - } - - /// - /// Create a new instance of the room. - /// - /// The playable character. - /// The room. - public static Room Create(PlayableCharacter pC) - { - return GetInstance().OnCreate(pC); - } - #endregion } } From 3241dbaf5842d20a9e424fef1e2be772c6637c55 Mon Sep 17 00:00:00 2001 From: ben_pollard Date: Fri, 19 Jan 2024 19:35:26 +0000 Subject: [PATCH 2/3] Templates in --- .../Assets/Regions/Everglades/Everglades.cs | 14 ++-- .../Regions/Everglades/Rooms/Outskirts.cs | 1 + .../Assets/Regions/Flat/Flat.cs | 20 ++--- .../Assets/Regions/Flat/Items/Kettle.cs | 4 +- .../Assets/Regions/Hub/Hub.cs | 2 +- .../Assets/Regions/Zelda/Items/Stump.cs | 2 +- .../Assets/Regions/Zelda/NPCs/Saria.cs | 76 ------------------ .../Regions/Zelda/Rooms/OutsideLinksHouse.cs | 6 +- .../Assets/Regions/Zelda/Zelda.cs | 80 +++++++++++++++++-- BP.AdventureFramework.Examples/Program.cs | 10 +-- .../Assets/ExaminableObject_Tests.cs | 1 - .../Interaction/InteractionResult_Tests.cs | 3 +- .../ConversationCommandInterpreter_Tests.cs | 1 - .../Utilities/Templates/ItemTemplate_Tests.cs | 36 --------- .../NonPlayableCharacterTemplate_Tests.cs | 36 --------- .../PlayableCharacterTemplate_Tests.cs | 36 --------- .../Templates/RegionTemplate_Tests.cs | 36 --------- .../Utilities/Templates/RoomTemplate_Tests.cs | 36 --------- .../Utilities/Templates/ItemTemplate.cs | 2 - .../Templates/NonPlayableCharacterTemplate.cs | 1 - 20 files changed, 104 insertions(+), 299 deletions(-) delete mode 100644 BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs delete mode 100644 BP.AdventureFramework.Tests/Utilities/Templates/ItemTemplate_Tests.cs delete mode 100644 BP.AdventureFramework.Tests/Utilities/Templates/NonPlayableCharacterTemplate_Tests.cs delete mode 100644 BP.AdventureFramework.Tests/Utilities/Templates/PlayableCharacterTemplate_Tests.cs delete mode 100644 BP.AdventureFramework.Tests/Utilities/Templates/RegionTemplate_Tests.cs delete mode 100644 BP.AdventureFramework.Tests/Utilities/Templates/RoomTemplate_Tests.cs diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs index ae908249..0a752df3 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs @@ -24,13 +24,13 @@ public override Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { - [2, 0, 0] = ForestEntrance.Create(), - [2, 1, 0] = ForestFloor.Create(), - [2, 2, 0] = CaveMouth.Create(), - [1, 2, 0] = GreatWesternOcean.Create(), - [2, 3, 0] = Cave.Create(), - [3, 3, 0] = InnerCave.Create(), - [3, 4, 0] = Outskirts.Create() + [2, 0, 0] = new ForestEntrance().Instantiate(), + [2, 1, 0] = new ForestFloor().Instantiate(), + [2, 2, 0] = new CaveMouth().Instantiate(), + [1, 2, 0] = new GreatWesternOcean().Instantiate(), + [2, 3, 0] = new Cave().Instantiate(), + [3, 3, 0] = new InnerCave().Instantiate(), + [3, 4, 0] = new Outskirts().Instantiate() }; diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs index a6a7e1ab..c47abfdf 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs @@ -1,6 +1,7 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Utilities.Templates; + namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { internal class Outskirts : RoomTemplate diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs index d7fc3e47..6c2abb3e 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs @@ -27,10 +27,10 @@ internal class Flat : RegionTemplate /// The region. public override Region Instantiate() { - var roof = Roof.Create(); - var easternHallway = EasternHallway.Create(); - var spareBedroom = SpareBedroom.Create(); - var lounge = Lounge.Create(); + var roof = new Roof().Instantiate(); + var easternHallway = new EasternHallway().Instantiate(); + var spareBedroom = new SpareBedroom().Instantiate(); + var lounge = new Lounge().Instantiate(); lounge.Description = new ConditionalDescription("Your in a large sitting room. Theres a huge map hanging on the eastern wall. On the southern wall there is a canvas. Theres a large coffee table in the center of the room. Beth is sat on a green sofa watching the TV. There is what appears to be a lead of some sort poking out from underneath the sofa. The kitchen is to the north.", "Your in a large sitting room. Theres a huge map hanging on the eastern wall. On the southern wall there is a canvas. Theres a large coffee table in the center of the room. Beth is sat on a green sofa watching the TV. The kitchen is to the north.", @@ -74,16 +74,16 @@ public override Region Instantiate() var regionMaker = new RegionMaker(Name, Description) { - [2, 0, 0] = Bedroom.Create(), + [2, 0, 0] = new Bedroom().Instantiate(), [2, 1, 0] = easternHallway, - [1, 1, 0] = WesternHallway.Create(), - [1, 2, 0] = Bathroom.Create(), + [1, 1, 0] = new WesternHallway().Instantiate(), + [1, 2, 0] = new Bathroom().Instantiate(), [1, 3, 0] = roof, [1, 0, 0] = spareBedroom, - [0, 1, 0] = Kitchen.Create(), + [0, 1, 0] = new Kitchen().Instantiate(), [0, 0, 0] = lounge, - [3, 1, 0] = Stairway.Create(), - [2, 0, 1] = Attic.Create() + [3, 1, 0] = new Stairway().Instantiate(), + [2, 0, 1] = new Attic().Instantiate() }; return regionMaker.Make(2, 0, 0); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs index 62088d35..c182dc1d 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs @@ -5,7 +5,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Kettle : ItemTemplate + public class Kettle : ItemTemplate { #region Constants @@ -32,7 +32,7 @@ public override Item Instantiate() { if (EmptyCoffeeMug.Name.EqualsIdentifier(i.Identifier)) { - i.Morph(MugOfCoffee.Create()); + i.Morph(new MugOfCoffee().Instantiate()); return new InteractionResult(InteractionEffect.ItemMorphed, i, "You put some instant coffee granuals into the mug and add some freshly boiled water from the Kettle. The coffee smells amazing!"); } } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs index 1124dea0..a495d5e7 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs @@ -24,7 +24,7 @@ public override Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { - [0, 0, 0] = Clearing.Create() + [0, 0, 0] = new Clearing().Instantiate() }; return regionMaker.Make(0, 0, 0); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs index 55a6be2b..4ac3b9e6 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs @@ -5,7 +5,7 @@ namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Stump : ItemTemplate + public class Stump : ItemTemplate { #region Constants diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs deleted file mode 100644 index e042b003..00000000 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/NPCs/Saria.cs +++ /dev/null @@ -1,76 +0,0 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Interaction; -using BP.AdventureFramework.Conversations; -using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; -using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; - -namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.NPCs -{ - internal class Saria : NonPlayableCharacterTemplate - { - #region Constants - - internal const string Name = "Saria"; - private const string Description = "A very annoying, but admittedly quite pretty elf, dressed, like you, completely in green."; - - #endregion - - #region Overrides of NonPlayableCharacterTemplate - - /// - /// Instantiate a new instance of the non-playable character. - /// - /// The non-playable character. - public override NonPlayableCharacter Instantiate() - { - var saria = new NonPlayableCharacter(Name, Description); - - saria.AcquireItem(TailKey.Create()); - - saria.Conversation = new Conversation - ( - new Paragraph("Hi Link, how's it going?"), - new Paragraph("I lost my red rupee, if you find it will you please bring it to me?"), - new Paragraph("Oh Link you are so adorable."), - new Paragraph("OK Link your annoying me now, I'm just going to ignore you.", 0) - ); - - saria.Interaction = (item, _) => - { - saria.FindItem(TailKey.Name, out var key); - - if (Rupee.Name.EqualsIdentifier(item.Identifier)) - { - pC.Give(item, saria); - saria.Give(key, pC); - return new InteractionResult(InteractionEffect.SelfContained, item, $"{saria.Identifier.Name} looks excited! \"Thanks Link, here take the Tail Key!\" You've got the Tail Key, awesome!"); - } - - if (Shield.Name.EqualsIdentifier(item.Identifier)) - { - return new InteractionResult(InteractionEffect.NoEffect, item, $"{saria.Identifier.Name} looks at your shield, but seems pretty unimpressed."); - } - - if (Sword.Name.EqualsIdentifier(item.Identifier)) - { - saria.Kill(); - - if (!saria.HasItem(key)) - return new InteractionResult(InteractionEffect.SelfContained, item, $"You strike {saria.Identifier.Name} in the face with the sword and she falls down dead."); - - saria.DequireItem(key); - room.AddItem(key); - - return new InteractionResult(InteractionEffect.SelfContained, item, $"You strike {saria.Identifier.Name} in the face with the sword and she falls down dead. When she fell you saw something drop to out of her hand, it looked like a key..."); - } - - return new InteractionResult(InteractionEffect.NoEffect, item); - }; - - return saria; - } - - #endregion - } -} diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs index eb67c706..90be6c3c 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs @@ -1,8 +1,6 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Interaction; +using BP.AdventureFramework.Assets.Interaction; using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; -using BP.AdventureFramework.Examples.Assets.Regions.Zelda.NPCs; using BP.AdventureFramework.Extensions; using BP.AdventureFramework.Utilities.Templates; @@ -27,7 +25,6 @@ public override Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South), new Exit(Direction.North), new Exit(Direction.East, true)); var door = new TailDoor().Instantiate(); - var saria = new Saria().Instantiate(); door.Interaction = (item, _) => { @@ -48,7 +45,6 @@ public override Room Instantiate() room.AddItem(new Stump().Instantiate()); room.AddItem(door); - room.AddCharacter(saria); return room; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs index 02582ce6..9b89d145 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs @@ -1,5 +1,10 @@ -using BP.AdventureFramework.Assets.Locations; +using BP.AdventureFramework.Assets.Characters; +using BP.AdventureFramework.Assets.Interaction; +using BP.AdventureFramework.Assets.Locations; +using BP.AdventureFramework.Conversations; +using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms; +using BP.AdventureFramework.Extensions; using BP.AdventureFramework.Utilities; using BP.AdventureFramework.Utilities.Templates; @@ -14,6 +19,25 @@ internal class Zelda : RegionTemplate #endregion + #region Fields + + private readonly PlayableCharacter player; + + #endregion + + #region Constructors + + /// + /// Initializes a new instance of the Zelda class. + /// + /// The playable character. + internal Zelda(PlayableCharacter pc) + { + player = pc; + } + + #endregion + #region Overrides of RegionTemplate /// @@ -24,12 +48,58 @@ public override Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { - [0, 0, 0] = LinksHouse.Create(), - [0, 1, 0] = OutsideLinksHouse.Create(pC), - [1, 1, 0] = TailCave.Create(), - [0, 2, 0] = Stream.Create() + [0, 0, 0] = new LinksHouse().Instantiate(), + [0, 1, 0] = new OutsideLinksHouse().Instantiate(), + [1, 1, 0] = new TailCave().Instantiate(), + [0, 2, 0] = new Stream().Instantiate() + }; + + var saria = new NonPlayableCharacter(Name, Description); + + saria.AcquireItem(new TailKey().Instantiate()); + + saria.Conversation = new Conversation + ( + new Paragraph("Hi Link, how's it going?"), + new Paragraph("I lost my red rupee, if you find it will you please bring it to me?"), + new Paragraph("Oh Link you are so adorable."), + new Paragraph("OK Link your annoying me now, I'm just going to ignore you.", 0) + ); + + saria.Interaction = (item, _) => + { + saria.FindItem(TailKey.Name, out var key); + + if (Rupee.Name.EqualsIdentifier(item.Identifier)) + { + player.Give(item, saria); + saria.Give(key, player); + return new InteractionResult(InteractionEffect.SelfContained, item, $"{saria.Identifier.Name} looks excited! \"Thanks Link, here take the Tail Key!\" You've got the Tail Key, awesome!"); + } + + if (Shield.Name.EqualsIdentifier(item.Identifier)) + { + return new InteractionResult(InteractionEffect.NoEffect, item, $"{saria.Identifier.Name} looks at your shield, but seems pretty unimpressed."); + } + + if (Sword.Name.EqualsIdentifier(item.Identifier)) + { + saria.Kill(); + + if (!saria.HasItem(key)) + return new InteractionResult(InteractionEffect.SelfContained, item, $"You strike {saria.Identifier.Name} in the face with the sword and she falls down dead."); + + saria.DequireItem(key); + regionMaker[0, 1, 0].AddItem(key); + + return new InteractionResult(InteractionEffect.SelfContained, item, $"You strike {saria.Identifier.Name} in the face with the sword and she falls down dead. When she fell you saw something drop to out of her hand, it looked like a key..."); + } + + return new InteractionResult(InteractionEffect.NoEffect, item); }; + regionMaker[0, 1, 0].AddCharacter(saria); + return regionMaker.Make(0, 0, 0); } diff --git a/BP.AdventureFramework.Examples/Program.cs b/BP.AdventureFramework.Examples/Program.cs index 749368d9..716aeefd 100644 --- a/BP.AdventureFramework.Examples/Program.cs +++ b/BP.AdventureFramework.Examples/Program.cs @@ -77,15 +77,15 @@ private static void Main(string[] args) var regions = new List { - Everglades.Create(p), - Flat.Create(p), - Zelda.Create(p), + new Everglades().Instantiate(), + new Flat().Instantiate(), + new Zelda(p).Instantiate(), castle.Regions.First() }; var overworld = new Overworld("Demo", "A demo of the BP.AdventureFramework."); - var hub = Hub.Create(p); + var hub = new Hub().Instantiate(); PopulateHub(hub, overworld, regions.ToArray()); overworld.AddRegion(hub); @@ -126,7 +126,7 @@ private static void Main(string[] args) about, about, x => overworldCreator(x), - Player.Create, + () => new Player().Instantiate(), DetermineIfGameHasCompleted, DetermineIfGameOver); diff --git a/BP.AdventureFramework.Tests/Assets/ExaminableObject_Tests.cs b/BP.AdventureFramework.Tests/Assets/ExaminableObject_Tests.cs index baee20a9..909c74ec 100644 --- a/BP.AdventureFramework.Tests/Assets/ExaminableObject_Tests.cs +++ b/BP.AdventureFramework.Tests/Assets/ExaminableObject_Tests.cs @@ -1,6 +1,5 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Interaction; -using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Commands; using BP.AdventureFramework.Interpretation; using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/BP.AdventureFramework.Tests/Assets/Interaction/InteractionResult_Tests.cs b/BP.AdventureFramework.Tests/Assets/Interaction/InteractionResult_Tests.cs index 9d086b6d..c4743071 100644 --- a/BP.AdventureFramework.Tests/Assets/Interaction/InteractionResult_Tests.cs +++ b/BP.AdventureFramework.Tests/Assets/Interaction/InteractionResult_Tests.cs @@ -1,5 +1,4 @@ -using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Assets.Interaction; +using BP.AdventureFramework.Assets.Interaction; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace BP.AdventureFramework.Tests.Assets.Interaction diff --git a/BP.AdventureFramework.Tests/Interpretation/ConversationCommandInterpreter_Tests.cs b/BP.AdventureFramework.Tests/Interpretation/ConversationCommandInterpreter_Tests.cs index cb3dc4aa..775ece95 100644 --- a/BP.AdventureFramework.Tests/Interpretation/ConversationCommandInterpreter_Tests.cs +++ b/BP.AdventureFramework.Tests/Interpretation/ConversationCommandInterpreter_Tests.cs @@ -1,7 +1,6 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Characters; using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Commands; using BP.AdventureFramework.Conversations; using BP.AdventureFramework.Interpretation; using BP.AdventureFramework.Logic; diff --git a/BP.AdventureFramework.Tests/Utilities/Templates/ItemTemplate_Tests.cs b/BP.AdventureFramework.Tests/Utilities/Templates/ItemTemplate_Tests.cs deleted file mode 100644 index b0cd1dd2..00000000 --- a/BP.AdventureFramework.Tests/Utilities/Templates/ItemTemplate_Tests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; - -namespace BP.AdventureFramework.Tests.Utilities -{ - [TestClass] - public class ItemTemplate_Tests - { - private class ExampleItem : ItemTemplate - { - protected override Item OnCreate() - { - return new Item("", ""); - } - } - - [TestMethod] - public void GivenExample_WhenCreate_ThenNoExceptionThrown() - { - var pass = true; - - try - { - ExampleItem.Create(); - } - catch (Exception) - { - pass = false; - } - - Assert.IsTrue(pass); - } - } -} diff --git a/BP.AdventureFramework.Tests/Utilities/Templates/NonPlayableCharacterTemplate_Tests.cs b/BP.AdventureFramework.Tests/Utilities/Templates/NonPlayableCharacterTemplate_Tests.cs deleted file mode 100644 index c4489c4b..00000000 --- a/BP.AdventureFramework.Tests/Utilities/Templates/NonPlayableCharacterTemplate_Tests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Utilities.Templates; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; - -namespace BP.AdventureFramework.Tests.Utilities -{ - [TestClass] - public class NonPlayableCharacterTemplate_Tests - { - private class ExampleNonPlayableCharacter : NonPlayableCharacterTemplate - { - protected override NonPlayableCharacter OnCreate() - { - return new NonPlayableCharacter("", ""); - } - } - - [TestMethod] - public void GivenExample_WhenCreate_ThenNoExceptionThrown() - { - var pass = true; - - try - { - ExampleNonPlayableCharacter.Create(); - } - catch (Exception) - { - pass = false; - } - - Assert.IsTrue(pass); - } - } -} diff --git a/BP.AdventureFramework.Tests/Utilities/Templates/PlayableCharacterTemplate_Tests.cs b/BP.AdventureFramework.Tests/Utilities/Templates/PlayableCharacterTemplate_Tests.cs deleted file mode 100644 index bb5f8d6c..00000000 --- a/BP.AdventureFramework.Tests/Utilities/Templates/PlayableCharacterTemplate_Tests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Utilities.Templates; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; - -namespace BP.AdventureFramework.Tests.Utilities -{ - [TestClass] - public class PlayableCharacterTemplate_Tests - { - private class ExamplePlayableCharacter : PlayableCharacterTemplate - { - protected override PlayableCharacter OnCreate() - { - return new PlayableCharacter("", ""); - } - } - - [TestMethod] - public void GivenExample_WhenCreate_ThenNoExceptionThrown() - { - var pass = true; - - try - { - ExamplePlayableCharacter.Create(); - } - catch (Exception) - { - pass = false; - } - - Assert.IsTrue(pass); - } - } -} diff --git a/BP.AdventureFramework.Tests/Utilities/Templates/RegionTemplate_Tests.cs b/BP.AdventureFramework.Tests/Utilities/Templates/RegionTemplate_Tests.cs deleted file mode 100644 index aa88d1c2..00000000 --- a/BP.AdventureFramework.Tests/Utilities/Templates/RegionTemplate_Tests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; - -namespace BP.AdventureFramework.Tests.Utilities -{ - [TestClass] - public class RegionTemplate_Tests - { - private class ExampleRegion : RegionTemplate - { - protected override Region OnCreate() - { - return new Region("", ""); - } - } - - [TestMethod] - public void GivenExample_WhenCreate_ThenNoExceptionThrown() - { - var pass = true; - - try - { - ExampleRegion.Create(); - } - catch (Exception) - { - pass = false; - } - - Assert.IsTrue(pass); - } - } -} diff --git a/BP.AdventureFramework.Tests/Utilities/Templates/RoomTemplate_Tests.cs b/BP.AdventureFramework.Tests/Utilities/Templates/RoomTemplate_Tests.cs deleted file mode 100644 index 98b45135..00000000 --- a/BP.AdventureFramework.Tests/Utilities/Templates/RoomTemplate_Tests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; - -namespace BP.AdventureFramework.Tests.Utilities -{ - [TestClass] - public class RoomTemplate_Tests - { - private class ExampleRoom : RoomTemplate - { - protected override Room OnCreate() - { - return new Room("", ""); - } - } - - [TestMethod] - public void GivenExample_WhenCreate_ThenNoExceptionThrown() - { - var pass = true; - - try - { - ExampleRoom.Create(); - } - catch (Exception) - { - pass = false; - } - - Assert.IsTrue(pass); - } - } -} diff --git a/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs b/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs index e01fd814..46abaf63 100644 --- a/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs @@ -1,7 +1,5 @@ using System; using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Locations; namespace BP.AdventureFramework.Utilities.Templates { diff --git a/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs b/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs index 822c9759..40aa790d 100644 --- a/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs +++ b/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs @@ -1,6 +1,5 @@ using System; using BP.AdventureFramework.Assets.Characters; -using BP.AdventureFramework.Assets.Locations; namespace BP.AdventureFramework.Utilities.Templates { From e19922cd007e3b07055a8a678438495d404547ff Mon Sep 17 00:00:00 2001 From: ben_pollard Date: Fri, 19 Jan 2024 19:58:01 +0000 Subject: [PATCH 3/3] Finished renaming templates --- .../Assets/Items/Knife.cs | 12 +++++----- .../Assets/Player/Player.cs | 12 +++++----- .../Assets/Regions/Everglades/Everglades.cs | 11 ++++----- .../Regions/Everglades/Items/ConchShell.cs | 10 ++++---- .../Assets/Regions/Everglades/Rooms/Cave.cs | 12 +++++----- .../Regions/Everglades/Rooms/CaveMouth.cs | 12 +++++----- .../Everglades/Rooms/ForestEntrance.cs | 12 +++++----- .../Regions/Everglades/Rooms/ForestFloor.cs | 12 +++++----- .../Everglades/Rooms/GreatWesternOcean.cs | 12 +++++----- .../Regions/Everglades/Rooms/InnerCave.cs | 12 +++++----- .../Regions/Everglades/Rooms/Outskirts.cs | 12 +++++----- .../Assets/Regions/Flat/Flat.cs | 11 ++++----- .../Assets/Regions/Flat/Items/Bath.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Bed.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Canvas.cs | 10 ++++---- .../Regions/Flat/Items/EmptyCoffeeMug.cs | 10 ++++---- .../Assets/Regions/Flat/Items/GameCube.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Guitar.cs | 10 ++++---- .../Assets/Regions/Flat/Items/HamsterCage.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Kettle.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Lead.cs | 10 ++++---- .../Assets/Regions/Flat/Items/LoungeTV.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Map.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Mirror.cs | 10 ++++---- .../Assets/Regions/Flat/Items/MugOfCoffee.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Picture.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Skylight.cs | 10 ++++---- .../Assets/Regions/Flat/Items/TV.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Table.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Telephone.cs | 10 ++++---- .../Assets/Regions/Flat/Items/Toilet.cs | 10 ++++---- .../Assets/Regions/Flat/NPCs/Beth.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Attic.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Bathroom.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Bedroom.cs | 12 +++++----- .../Regions/Flat/Rooms/EasternHallway.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Kitchen.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Lounge.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Roof.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/SpareBedroom.cs | 12 +++++----- .../Assets/Regions/Flat/Rooms/Stairway.cs | 12 +++++----- .../Regions/Flat/Rooms/WesternHallway.cs | 12 +++++----- .../Assets/Regions/Hub/Hub.cs | 11 ++++----- .../Assets/Regions/Hub/Rooms/Clearing.cs | 12 +++++----- .../Assets/Regions/Zelda/Items/Bush.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/Rupee.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/Shield.cs | 10 ++++---- .../Regions/Zelda/Items/SplintersOfWood.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/Stump.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/Sword.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/Table.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/TailDoor.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/TailKey.cs | 10 ++++---- .../Assets/Regions/Zelda/Items/YoshiDoll.cs | 10 ++++---- .../Assets/Regions/Zelda/Rooms/LinksHouse.cs | 12 +++++----- .../Regions/Zelda/Rooms/OutsideLinksHouse.cs | 12 +++++----- .../Assets/Regions/Zelda/Rooms/Stream.cs | 12 +++++----- .../Assets/Regions/Zelda/Rooms/TailCave.cs | 12 +++++----- .../Assets/Regions/Zelda/Zelda.cs | 11 ++++----- .../BP.AdventureFramework.csproj | 14 +++++------ .../Utilities/IAssetTemplate.cs | 15 ++++++++++++ .../Utilities/Templates/ItemTemplate.cs | 24 ------------------- .../Templates/NonPlayableCharacterTemplate.cs | 24 ------------------- .../Templates/PlayableCharacterTemplate.cs | 24 ------------------- .../Utilities/Templates/RegionTemplate.cs | 24 ------------------- .../Utilities/Templates/RoomTemplate.cs | 24 ------------------- 66 files changed, 342 insertions(+), 451 deletions(-) create mode 100644 BP.AdventureFramework/Utilities/IAssetTemplate.cs delete mode 100644 BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs delete mode 100644 BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs delete mode 100644 BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs delete mode 100644 BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs delete mode 100644 BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs diff --git a/BP.AdventureFramework.Examples/Assets/Items/Knife.cs b/BP.AdventureFramework.Examples/Assets/Items/Knife.cs index 275af60e..d1e79dee 100644 --- a/BP.AdventureFramework.Examples/Assets/Items/Knife.cs +++ b/BP.AdventureFramework.Examples/Assets/Items/Knife.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Items { - public class Knife : ItemTemplate + public class Knife : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Knife : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the templated asset. /// - /// The item. - public override Item Instantiate() + /// The asset. + public Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Player/Player.cs b/BP.AdventureFramework.Examples/Assets/Player/Player.cs index a36551fb..7d879fa8 100644 --- a/BP.AdventureFramework.Examples/Assets/Player/Player.cs +++ b/BP.AdventureFramework.Examples/Assets/Player/Player.cs @@ -3,11 +3,11 @@ using BP.AdventureFramework.Examples.Assets.Items; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Player { - public class Player : PlayableCharacterTemplate + public class Player : IAssetTemplate { #region Constants @@ -16,13 +16,13 @@ public class Player : PlayableCharacterTemplate #endregion - #region Overrides of PlayableCharacterTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the playable character. + /// Instantiate a new instance of the asset. /// - /// The playable character. - public override PlayableCharacter Instantiate() + /// The asset. + public PlayableCharacter Instantiate() { var player = new PlayableCharacter(Name, Description, new Knife().Instantiate()) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs index 0a752df3..08e6dc6d 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Everglades.cs @@ -1,11 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms; using BP.AdventureFramework.Utilities; -using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades { - internal class Everglades : RegionTemplate + internal class Everglades : IAssetTemplate { #region Constants @@ -14,13 +13,13 @@ internal class Everglades : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the region. + /// Instantiate a new instance of the asset. /// - /// The region. - public override Region Instantiate() + /// The asset. + public Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs index a3948e35..3ce44552 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Items/ConchShell.cs @@ -1,11 +1,11 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Interaction; using BP.AdventureFramework.Examples.Assets.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Items { - public class ConchShell : ItemTemplate + public class ConchShell : IAssetTemplate { #region Constants @@ -14,13 +14,13 @@ public class ConchShell : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { var conchShell = new Item(Name, Description, true) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs index b1b38af2..3529fb3a 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Cave.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class Cave : RoomTemplate + internal class Cave : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Cave : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.East), new Exit(Direction.South)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs index fe4e6107..b1ce39f4 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/CaveMouth.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class CaveMouth : RoomTemplate + internal class CaveMouth : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class CaveMouth : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South), new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs index 1beb5185..eb5c4e3e 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestEntrance.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class ForestEntrance : RoomTemplate + internal class ForestEntrance : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class ForestEntrance : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs index f4f09b06..a9db2ab9 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/ForestFloor.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class ForestFloor : RoomTemplate + internal class ForestFloor : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class ForestFloor : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs index 07ea0805..00d5c224 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/GreatWesternOcean.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Everglades.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class GreatWesternOcean : RoomTemplate + internal class GreatWesternOcean : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class GreatWesternOcean : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.East)); room.AddItem(new ConchShell().Instantiate()); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs index ce260077..ee4160ba 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/InnerCave.cs @@ -4,11 +4,11 @@ using BP.AdventureFramework.Examples.Assets.Items; using BP.AdventureFramework.Examples.Assets.Regions.Everglades.Items; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class InnerCave : RoomTemplate + internal class InnerCave : IAssetTemplate { #region Constants @@ -16,13 +16,13 @@ internal class InnerCave : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.West), new Exit(Direction.North, true)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs index c47abfdf..669033ce 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Everglades/Rooms/Outskirts.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Everglades.Rooms { - internal class Outskirts : RoomTemplate + internal class Outskirts : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class Outskirts : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.South)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs index 6c2abb3e..fa460998 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Flat.cs @@ -6,11 +6,10 @@ using BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms; using BP.AdventureFramework.Extensions; using BP.AdventureFramework.Utilities; -using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat { - internal class Flat : RegionTemplate + internal class Flat : IAssetTemplate { #region Constants @@ -19,13 +18,13 @@ internal class Flat : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the region. + /// Instantiate a new instance of the asset. /// - /// The region. - public override Region Instantiate() + /// The asset. + public Region Instantiate() { var roof = new Roof().Instantiate(); var easternHallway = new EasternHallway().Instantiate(); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs index b4928d2e..05e06435 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bath.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Bath : ItemTemplate + public class Bath : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Bath : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs index 1de553b3..62ec732c 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Bed.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Bed : ItemTemplate + public class Bed : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Bed : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs index 99e6d5ea..3f646bec 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Canvas.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Canvas : ItemTemplate + public class Canvas : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Canvas : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs index b5c1cef2..aa5f58d1 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/EmptyCoffeeMug.cs @@ -1,11 +1,11 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Interaction; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class EmptyCoffeeMug : ItemTemplate + public class EmptyCoffeeMug : IAssetTemplate { #region Constants @@ -14,13 +14,13 @@ public class EmptyCoffeeMug : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs index 0ab8dada..5162c01d 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/GameCube.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class GameCube : ItemTemplate + public class GameCube : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class GameCube : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs index 8cbaf313..403bbcf1 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Guitar.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Guitar : ItemTemplate + public class Guitar : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Guitar : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs index f573cd45..84dee3cd 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/HamsterCage.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class HamsterCage : ItemTemplate + public class HamsterCage : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class HamsterCage : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs index c182dc1d..eac851e6 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Kettle.cs @@ -1,11 +1,11 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Interaction; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Kettle : ItemTemplate + public class Kettle : IAssetTemplate { #region Constants @@ -14,13 +14,13 @@ public class Kettle : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs index 6cf2941c..f213fb68 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Lead.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Lead : ItemTemplate + public class Lead : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Lead : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs index dfc64597..8efae1c1 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/LoungeTV.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class LoungeTV : ItemTemplate + public class LoungeTV : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class LoungeTV : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs index 1177ff41..4e8d6e95 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Map.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Map : ItemTemplate + public class Map : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Map : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs index 39a2c650..aa1a81c6 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Mirror.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Mirror : ItemTemplate + public class Mirror : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Mirror : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs index 1dbe9f6f..02e2e6d7 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/MugOfCoffee.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class MugOfCoffee : ItemTemplate + public class MugOfCoffee : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class MugOfCoffee : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs index 0e042a20..1f9d350c 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Picture.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Picture : ItemTemplate + public class Picture : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Picture : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs index 91a9325f..2ebd5da4 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Skylight.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Skylight : ItemTemplate + public class Skylight : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Skylight : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs index 24ac623f..8f39d15f 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/TV.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class TV : ItemTemplate + public class TV : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class TV : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs index 400648a5..860c6c13 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Table.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Table : ItemTemplate + public class Table : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Table : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs index 1ed16231..64b33e60 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Telephone.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Telephone : ItemTemplate + public class Telephone : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Telephone : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs index 94797b36..e98c0d3b 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Items/Toilet.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Items { - public class Toilet : ItemTemplate + public class Toilet : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Toilet : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs index b9480365..1d0530d3 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/NPCs/Beth.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Characters; using BP.AdventureFramework.Conversations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.NPCs { - internal class Beth : NonPlayableCharacterTemplate + internal class Beth : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class Beth : NonPlayableCharacterTemplate #endregion - #region Overrides of NonPlayableCharacterTemplate + #region Overrides of NonIAssetTemplate /// - /// Instantiate a new instance of the non-playable character. + /// Instantiate a new instance of the asset. /// - /// The non-playable character. - public override NonPlayableCharacter Instantiate() + /// The asset. + public NonPlayableCharacter Instantiate() { return new NonPlayableCharacter(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs index 621eae91..31cf1e07 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Attic.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Attic : RoomTemplate + internal class Attic : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Attic : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.Down)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs index e8443099..bba0b493 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bathroom.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Bathroom : RoomTemplate + internal class Bathroom : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class Bathroom : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs index c750dd70..b5661f0f 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Bedroom.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Bedroom : RoomTemplate + internal class Bedroom : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class Bedroom : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.Up)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs index dad74292..6e8e2583 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/EasternHallway.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class EasternHallway : RoomTemplate + internal class EasternHallway : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class EasternHallway : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.East, true), new Exit(Direction.West)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs index 6d5e39c2..5eda957d 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Kitchen.cs @@ -2,11 +2,11 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Kitchen : RoomTemplate + internal class Kitchen : IAssetTemplate { #region Constants @@ -15,13 +15,13 @@ internal class Kitchen : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South), new Exit(Direction.East)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs index 52929487..1b2431ff 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Lounge.cs @@ -3,11 +3,11 @@ using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; using BP.AdventureFramework.Examples.Assets.Regions.Flat.NPCs; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Lounge : RoomTemplate + internal class Lounge : IAssetTemplate { #region Constants @@ -15,13 +15,13 @@ internal class Lounge : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.North)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs index 8f198480..6dbc4273 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Roof.cs @@ -1,11 +1,11 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Roof : RoomTemplate + internal class Roof : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class Roof : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.South)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs index 08379cb3..fdf27ac8 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/SpareBedroom.cs @@ -1,11 +1,11 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Flat.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class SpareBedroom : RoomTemplate + internal class SpareBedroom : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class SpareBedroom : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, string.Empty, new Exit(Direction.North)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs index abfe8ccd..2f15ac19 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/Stairway.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class Stairway : RoomTemplate + internal class Stairway : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class Stairway : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs index 9f92b3c8..69fb3d37 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Flat/Rooms/WesternHallway.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Flat.Rooms { - internal class WesternHallway : RoomTemplate + internal class WesternHallway : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class WesternHallway : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.North), new Exit(Direction.South), new Exit(Direction.East), new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs index a495d5e7..e641a3eb 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Hub.cs @@ -1,11 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Hub.Rooms; using BP.AdventureFramework.Utilities; -using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Hub { - internal class Hub : RegionTemplate + internal class Hub : IAssetTemplate { #region Constants @@ -14,13 +13,13 @@ internal class Hub : RegionTemplate #endregion - #region Overrides of RegionTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the region. + /// Instantiate a new instance of the asset. /// - /// The region. - public override Region Instantiate() + /// The asset. + public Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs index 321c00b2..a2f26482 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Hub/Rooms/Clearing.cs @@ -3,11 +3,11 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Conversations; using BP.AdventureFramework.Rendering.FrameBuilders; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Hub.Rooms { - internal class Clearing : RoomTemplate + internal class Clearing : IAssetTemplate { #region Constants @@ -16,13 +16,13 @@ internal class Clearing : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs index b08005df..21eed4bc 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Bush.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Bush : ItemTemplate + public class Bush : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Bush : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs index bd774128..2534da09 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Rupee.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Rupee : ItemTemplate + public class Rupee : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Rupee : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true) { IsPlayerVisible = false }; } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs index 7676faa7..d193dd64 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Shield.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Shield : ItemTemplate + public class Shield : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Shield : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs index ac60e570..ce875a33 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/SplintersOfWood.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class SplintersOfWood : ItemTemplate + public class SplintersOfWood : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class SplintersOfWood : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs index 4ac3b9e6..14109731 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Stump.cs @@ -1,11 +1,11 @@ using BP.AdventureFramework.Assets; using BP.AdventureFramework.Assets.Interaction; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Stump : ItemTemplate + public class Stump : IAssetTemplate { #region Constants @@ -14,13 +14,13 @@ public class Stump : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { var stump = new Item(Name, Description); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs index f0d9c7d0..402d1029 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Sword.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Sword : ItemTemplate + public class Sword : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Sword : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs index 8f9866c1..f30569b2 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/Table.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class Table : ItemTemplate + public class Table : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class Table : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs index 4f980703..a3afae77 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailDoor.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class TailDoor : ItemTemplate + public class TailDoor : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class TailDoor : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs index f9f7fe4f..f586c3b9 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/TailKey.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class TailKey : ItemTemplate + public class TailKey : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class TailKey : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description, true); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs index 2cfc2e7a..17b32f25 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Items/YoshiDoll.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items { - public class YoshiDoll : ItemTemplate + public class YoshiDoll : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ public class YoshiDoll : ItemTemplate #endregion - #region Overrides of ItemTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the item. + /// Instantiate a new instance of the asset. /// /// The item. - public override Item Instantiate() + public Item Instantiate() { return new Item(Name, Description); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs index ec1ab27e..0554b44c 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/LinksHouse.cs @@ -1,10 +1,10 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class LinksHouse : RoomTemplate + internal class LinksHouse : IAssetTemplate { #region Constants @@ -13,13 +13,13 @@ internal class LinksHouse : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.North)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs index 90be6c3c..4aa71a1c 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/OutsideLinksHouse.cs @@ -2,11 +2,11 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class OutsideLinksHouse : RoomTemplate + internal class OutsideLinksHouse : IAssetTemplate { #region Constants @@ -15,13 +15,13 @@ internal class OutsideLinksHouse : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South), new Exit(Direction.North), new Exit(Direction.East, true)); var door = new TailDoor().Instantiate(); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs index 43871a10..eefb6592 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/Stream.cs @@ -3,11 +3,11 @@ using BP.AdventureFramework.Assets.Locations; using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Items; using BP.AdventureFramework.Extensions; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class Stream : RoomTemplate + internal class Stream : IAssetTemplate { #region Constants @@ -16,13 +16,13 @@ internal class Stream : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { var room = new Room(Name, Description, new Exit(Direction.South)); diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs index 78a488d7..4a05d984 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Rooms/TailCave.cs @@ -1,9 +1,9 @@ using BP.AdventureFramework.Assets.Locations; -using BP.AdventureFramework.Utilities.Templates; +using BP.AdventureFramework.Utilities; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms { - internal class TailCave : RoomTemplate + internal class TailCave : IAssetTemplate { #region Constants @@ -12,13 +12,13 @@ internal class TailCave : RoomTemplate #endregion - #region Overrides of RoomTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the room. + /// Instantiate a new instance of the asset. /// - /// The room. - public override Room Instantiate() + /// The asset. + public Room Instantiate() { return new Room(Name, Description, new Exit(Direction.West)); } diff --git a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs index 9b89d145..c19c12db 100644 --- a/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs +++ b/BP.AdventureFramework.Examples/Assets/Regions/Zelda/Zelda.cs @@ -6,11 +6,10 @@ using BP.AdventureFramework.Examples.Assets.Regions.Zelda.Rooms; using BP.AdventureFramework.Extensions; using BP.AdventureFramework.Utilities; -using BP.AdventureFramework.Utilities.Templates; namespace BP.AdventureFramework.Examples.Assets.Regions.Zelda { - internal class Zelda : RegionTemplate + internal class Zelda : IAssetTemplate { #region Constants @@ -38,13 +37,13 @@ internal Zelda(PlayableCharacter pc) #endregion - #region Overrides of RegionTemplate + #region Implementation of IAssetTemplate /// - /// Instantiate a new instance of the region. + /// Instantiate a new instance of the asset. /// - /// The region. - public override Region Instantiate() + /// The asset. + public Region Instantiate() { var regionMaker = new RegionMaker(Name, Description) { diff --git a/BP.AdventureFramework/BP.AdventureFramework.csproj b/BP.AdventureFramework/BP.AdventureFramework.csproj index 4642c3fc..6013264f 100644 --- a/BP.AdventureFramework/BP.AdventureFramework.csproj +++ b/BP.AdventureFramework/BP.AdventureFramework.csproj @@ -5,14 +5,14 @@ BP.AdventureFramework Ben Pollard - Many minor bug fixes found during Kotlin port. - https://github.com/ben-pollard-uk/adventure-framework.git - https://github.com/ben-pollard-uk/adventure-framework - An open source library for creating text adventures. Provides game assets, parsers, and other classes to assist with logic. For examples see the project website at https://github.com/ben-pollard-uk/adventure-framework. + Templates have been simplified. + https://github.com/benpollarduk/BP.AdventureFramework.git + https://github.com/benpollarduk/BP.AdventureFramework + An open source library for creating text adventures. Provides game assets, parsers, and other classes to assist with logic. For examples see the project website at https://github.com/benpollarduk/BP.AdventureFramework. true - 1.4.5 - 1.4.5.0 - 1.4.5.0 + 1.5.0 + 1.5.0.0 + 1.5.0.0 True diff --git a/BP.AdventureFramework/Utilities/IAssetTemplate.cs b/BP.AdventureFramework/Utilities/IAssetTemplate.cs new file mode 100644 index 00000000..08be3927 --- /dev/null +++ b/BP.AdventureFramework/Utilities/IAssetTemplate.cs @@ -0,0 +1,15 @@ +namespace BP.AdventureFramework.Utilities +{ + /// + /// Represents any object that is a template for an asset. + /// + /// The type of asset being templated. + public interface IAssetTemplate + { + /// + /// Instantiate a new instance of the templated asset. + /// + /// The asset. + T Instantiate(); + } +} diff --git a/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs b/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs deleted file mode 100644 index 46abaf63..00000000 --- a/BP.AdventureFramework/Utilities/Templates/ItemTemplate.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using BP.AdventureFramework.Assets; - -namespace BP.AdventureFramework.Utilities.Templates -{ - /// - /// Provides a template class to help with the creation of items. - /// - public class ItemTemplate - { - #region Methods - - /// - /// Instantiate a new instance of the item. - /// - /// The item. - public virtual Item Instantiate() - { - throw new NotImplementedException(); - } - - #endregion - } -} diff --git a/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs b/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs deleted file mode 100644 index 40aa790d..00000000 --- a/BP.AdventureFramework/Utilities/Templates/NonPlayableCharacterTemplate.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using BP.AdventureFramework.Assets.Characters; - -namespace BP.AdventureFramework.Utilities.Templates -{ - /// - /// Provides a template class to help with the creation of non-playable characters. - /// - public class NonPlayableCharacterTemplate - { - #region Methods - - /// - /// Instantiate a new instance of the non-playable character. - /// - /// The non-playable character. - public virtual NonPlayableCharacter Instantiate() - { - throw new NotImplementedException(); - } - - #endregion - } -} diff --git a/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs b/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs deleted file mode 100644 index a12554f8..00000000 --- a/BP.AdventureFramework/Utilities/Templates/PlayableCharacterTemplate.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using BP.AdventureFramework.Assets.Characters; - -namespace BP.AdventureFramework.Utilities.Templates -{ - /// - /// Provides a template class to help with the creation of playable characters. - /// - public class PlayableCharacterTemplate - { - #region Methods - - /// - /// Instantiate a new instance of the playable character. - /// - /// The playable character. - public virtual PlayableCharacter Instantiate() - { - throw new NotImplementedException(); - } - - #endregion - } -} diff --git a/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs b/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs deleted file mode 100644 index ccc6043a..00000000 --- a/BP.AdventureFramework/Utilities/Templates/RegionTemplate.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using BP.AdventureFramework.Assets.Locations; - -namespace BP.AdventureFramework.Utilities.Templates -{ - /// - /// Provides a template class to help with the creation of regions. - /// - public class RegionTemplate - { - #region Methods - - /// - /// Instantiate a new instance of the region. - /// - /// The region. - public virtual Region Instantiate() - { - throw new NotImplementedException(); - } - - #endregion - } -} diff --git a/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs b/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs deleted file mode 100644 index f4b87f36..00000000 --- a/BP.AdventureFramework/Utilities/Templates/RoomTemplate.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using BP.AdventureFramework.Assets.Locations; - -namespace BP.AdventureFramework.Utilities.Templates -{ - /// - /// Provides a template class to help with the creation of rooms. - /// - public class RoomTemplate - { - #region Methods - - /// - /// Instantiate a new instance of the room. - /// - /// The room. - public virtual Room Instantiate() - { - throw new NotImplementedException(); - } - - #endregion - } -}