コード例 #1
0
        static void Main(string[] args)
        {
            var characterDomain = new CharacterDomain();
            var warrior         = characterDomain.CreateCharacter(CharacterType.Warrior, "Buddy the Warrior");
            var wizard          = characterDomain.CreateCharacter(CharacterType.Wizard, "Ed the Wizard");
            var whiteWizard     = characterDomain.CreateCharacter(CharacterType.WhiteWizard, "The Wonderous Whitey");

            var weaponsDomain = new WeaponDomain();
            var sword         = weaponsDomain.CreateWeapon(WeaponType.Sword, "Sword of Might");
            var sword2        = weaponsDomain.CreateWeapon(WeaponType.Sword, "Sword of the Magi");
            var staff         = weaponsDomain.CreateWeapon(WeaponType.Staff, "Cudgel of Shame");
            var dagger        = weaponsDomain.CreateWeapon(WeaponType.Daggger, "Dagger of Dagging");
            var dagger2       = weaponsDomain.CreateWeapon(WeaponType.Daggger, "Shiv of Shadows");

            var inventoryDomain = new InventoryDomain();

            PickUpWeapon(inventoryDomain, warrior, sword);
            PickUpWeapon(inventoryDomain, warrior, sword);
            PickUpWeapon(inventoryDomain, warrior, staff);
            PickUpWeapon(inventoryDomain, warrior, dagger);
            PickUpWeapon(inventoryDomain, wizard, staff);
            PickUpWeapon(inventoryDomain, wizard, sword2);
            PickUpWeapon(inventoryDomain, wizard, dagger);
            PickUpWeapon(inventoryDomain, wizard, dagger2);
            PickUpWeapon(inventoryDomain, whiteWizard, sword2);
            Console.ReadKey();
        }
コード例 #2
0
 public CampaignState()
 {
     this.characters          = new CharacterDomain();
     this.inventories         = new InventoryDomain();
     this.character_inventory = new Dictionary <Guid, Guid>();
     this.notes  = new NoteDomain();
     this.tasks  = new TaskDomain();
     this.events = new CalendarEventDomain();
 }
コード例 #3
0
        public InventoryDomain copy()
        {
            InventoryDomain result = new InventoryDomain()
            {
                active_entries = new HashSet <Guid>(this.active_entries)
            };

            foreach (Guid guid in this.inventories.Keys)
            {
                result.inventories[guid] = this.inventories[guid].copy();
                result.record_inventory_contents(result.inventories[guid]);
            }
            return(result);
        }
コード例 #4
0
        private static void PickUpWeapon(InventoryDomain inventoryDomain, IPlayerCharacter character, IWeapon weapon)
        {
            Console.WriteLine("{0} [{1}] attempts to pick up {2} [{3}]", character.Name, character.Type, weapon.Name, weapon.Type);
            WeaponAssignmentResult result = inventoryDomain.AssignWeapon(character, weapon);

            if (result.IsSuccess)
            {
                Console.WriteLine("Success");
            }
            else
            {
                Console.WriteLine("Failed: {0}", result.Message);
            }
        }
コード例 #5
0
 public InventoryController(InventoryDomain domain, ItemUseDomain useDomain)
 {
     this.domain    = domain;
     this.useDomain = useDomain;
 }