Пример #1
0
        public void Make_given_invalid_weapon_returns_null()
        {
            var factory = new WeaponFactory();

            var weapon = factory.Make("Pan Galactic Gargle Blaster");

            Assert.Null(weapon);
        }
        private Player GeneratePlayer()
        {
            Player p = new Player("Hero Alba", "A hero on a journey", new Point(5, 5), 125, 15);

            p.EquipNewGear(GearFactory.GetGear(GearType.Chest));
            p.EquipNewWeapon(WeaponFactory.GetWeapon(WeaponType.MainHand, AttackType.Blunt));
            return(p);
        }
Пример #3
0
        public void Make_given_CrossBow_returns_Crossbow()
        {
            var factory = new WeaponFactory();

            var weapon = factory.Make("CrossBow");

            Assert.IsType <Crossbow>(weapon);
        }
Пример #4
0
        public void Available_returns_Crossbow_Grenade_Sword()
        {
            var factory = new WeaponFactory();

            var weapons = factory.Available();

            Assert.Equal(new[] { "Crossbow", "Grenade", "Spear", "Sword" }, weapons);
        }
Пример #5
0
 public Engine(IReader reader, IWriter writer)
 {
     this.reader        = reader;
     this.writer        = writer;
     this.weaponFactory = new WeaponFactory();
     this.gemFactory    = new GemFactory();
     this.weapons       = new Dictionary <string, IWeapon>();
 }
Пример #6
0
 public void SetWeapon(WeaponType weaponType, int damage, float range, float delay)
 {
     this.weaponType = weaponType;
     this.damage     = damage;
     this.range      = range;
     this.delay      = delay;
     SetWeaponPattern(WeaponFactory.GetWeaponPattern(weaponType));
 }
Пример #7
0
        public void Make_given_grenade_returns_Grenade()
        {
            var factory = new WeaponFactory();

            var weapon = factory.Make("grenade");

            Assert.IsType <Grenade>(weapon);
        }
Пример #8
0
        private static void AbstractFactoryExample()
        {
            var weaponFamily = WeaponType.Heavy;
            var weapon       = WeaponName.Bazooka;

            var factory       = WeaponFactory.CreateFactory(weaponFamily);
            var createdWeapon = factory.CreateWeapon(weapon);
        }
Пример #9
0
        public void Make_given_SWORD_returns_Sword()
        {
            var factory = new WeaponFactory();

            var weapon = factory.Make("SWORD");

            Assert.IsType <Sword>(weapon);
        }
        public void If_the_player_get_a_weapon__the_first__the_weapon_is_in_his_hand()
        {
            WeaponFactory factory = new WeaponFactory();
            Player        player  = new Player(null, new Vector(0, 0), 1, 1);

            player.GetNewWeapon(factory.CreateAssaultRifle(player));
            Assert.That(player.CurrentWeapon, Is.EqualTo(player.Weapons[0]));
        }
        public void Run()
        {
            while (true)
            {
                string   userInput   = Console.ReadLine();
                string[] data        = userInput.Split(";");
                string   commandName = data[0];


                if (commandName == "Create")
                {
                    string[] weaponInfo   = data[1].Split(" ");
                    string   weaponRarity = weaponInfo[0];
                    string   weaponType   = weaponInfo[1];
                    string   weaponName   = data[2];

                    var weapon = WeaponFactory.CreateWeapon(weaponType, weaponRarity, weaponName);

                    this.repository.AddWeapon(weapon);
                }
                else if (commandName == "Add")
                {
                    string  weaponName = data[1];
                    IWeapon weapon     = this.repository.GetWeapon(weaponName);

                    int gemSocketIndex = int.Parse(data[2]);

                    string[] gemInfo    = data[3].Split(" ");
                    string   gemClarity = gemInfo[0];
                    string   gemType    = gemInfo[1];

                    var gem = GemFactory.CreateGem(gemType, gemClarity);

                    weapon.AddGem(gem, gemSocketIndex);
                }
                else if (commandName == "Remove")
                {
                    string  weaponName = data[1];
                    IWeapon weapon     = this.repository.GetWeapon(weaponName);

                    int socketToRemoveIndex = int.Parse(data[2]);

                    weapon.RemoveGem(socketToRemoveIndex);
                }
                else if (commandName == "Print")
                {
                    string weaponName = data[1];

                    var weapon = this.repository.GetWeapon(weaponName);

                    Console.WriteLine(weapon.ToString());
                }
                else if (commandName == "END")
                {
                    break;
                }
            }
        }
 public CommandInterpreter(Dictionary <string, IWeapon> weapons, ClarityFactory clarityFactory, GemFactory gemFactory, RarityFactory rarityFactory, WeaponFactory weaponFactory, ref List <string> printOrder)
 {
     this.weapons        = weapons;
     this.clarityFactory = clarityFactory;
     this.gemFactory     = gemFactory;
     this.rarityFactory  = rarityFactory;
     this.weaponFactory  = weaponFactory;
     this.printOrder     = printOrder;
 }
        // create set text fields' values to the values for the given weapon type
        void prebuildWeapon(int type)
        {
            WeaponFactory factory = new WeaponFactory();

            factory.addDefaultWeapons();
            this.templateWeapon = factory.makeWeapon(type);
            this.updateFieldsFromWeapon();
            this.costUpdated = true;
        }
        public void If_the_player_has_already_a_weapon_and_he_get_a_new_one_his_new_weapon_is_in_his_hand()
        {
            WeaponFactory factory = new WeaponFactory();
            Player        player  = CreatePlayer(factory);

            Assert.That(player.CurrentWeapon, Is.EqualTo(player.Weapons[2]));
            player.GetNewWeapon(factory.CreateShotgun(player));
            Assert.That(player.CurrentWeapon, Is.EqualTo(player.Weapons[3]));
        }
Пример #15
0
        public void AddWeapon(string[] args)
        {
            var weapon = WeaponFactory.CreateWeapon(args);

            if (!this.weapons.Any(x => x.Name == weapon.Name))
            {
                this.weapons.Add(weapon);
            }
        }
 public ShipManager()
 {
     this.shipFactory   = new ShipFactory();
     this.weaponFactory = new WeaponFactory();
     this.ships         = new List <IShip>();
     this.shipTypes     = (ShipType[])Enum.GetValues(typeof(ShipType));
     this.weaponTypes   = (WeaponType[])Enum.GetValues(typeof(WeaponType));
     this.rnd           = new Random();
 }
Пример #17
0
 public CommandDispatcher()
 {
     this.outHandler      = new OutputHandler();
     this.weapons         = new List <IWeapon>();
     this.inHandler       = new InputHandler();
     this.weaponFactory   = new WeaponFactory();
     this.gemFactory      = new GemFactory();
     this.weaponAttribute = (WeaponAttribute)typeof(Weapon).GetCustomAttributes(true).First();
 }
Пример #18
0
    public WeaponFactory getWeaponFact()
    {
        if (!weaponFact)
        {
            weaponFact = GetComponent <WeaponFactory>();
        }

        return(weaponFact);
    }
 public CommandInterpreter(
     IDatabase <Weapon> repository,
     WeaponFactory weaponFactory,
     GemFactory gemFactory)
 {
     this.repository    = repository;
     this.weaponFactory = weaponFactory;
     this.gemFactory    = gemFactory;
 }
Пример #20
0
        public void ConstructSucceeds()
        {
            // Compilation error because the constructor is inaccessible
            //WeaponFactory factory = new WeaponFactory();

            WeaponFactory factory = WeaponFactory.Instance;

            Assert.IsNotNull(factory);
        }
Пример #21
0
 public RemoveGemFromWeaponCommand(
     IDatabase <Weapon> repository,
     WeaponFactory weaponFactory,
     GemFactory gemFactory,
     string weaponName,
     int socketIndex)
     : base(repository, weaponFactory, gemFactory, weaponName)
 {
     this.socketIndex = socketIndex;
 }
Пример #22
0
        public override void Execute()
        {
            string rarity = this.Data[1].Split()[0];
            string type   = this.Data[1].Split()[1];
            string name   = this.Data[2];

            IWeapon weapon = WeaponFactory.CreateWeapon(rarity, type, name);

            this.Repository.AddWeapon(weapon);
        }
Пример #23
0
    void Start()
    {
        policeScript  = GetComponent <PoliceScript>();
        weaponManager = GetComponent <WeaponManager>();
        rb2d          = GetComponent <Rigidbody2D>();

        weaponManager.AddWeapon(WeaponFactory.GetWeapon("Gun 1"));
        weaponManager.NextWeapon();
        weapon = weaponManager.CurrentWeapon.GetComponent <IWeapon>();
    }
        public override void Execute()
        {
            string[] currentWeaponArgs = this.args[1].Split();
            string   weaponRarity      = currentWeaponArgs[0];
            string   weaponType        = currentWeaponArgs[1];
            string   weaponName        = this.args[2];
            IWeapon  newWeapon         = WeaponFactory.GenerateWeapon(weaponType, weaponName, weaponRarity);

            this.weapons.Add(newWeapon);
        }
Пример #25
0
        public override void Ecexute()
        {
            string name       = this.Tokens[1];
            string rarityType = this.Tokens[0].Split().ToArray()[0];
            string type       = this.Tokens[0].Split().ToArray()[1];

            IWeapon weapon = WeaponFactory.GetWeapon(name, rarityType, type);

            this.Database.Weapons.Add(weapon);
        }
Пример #26
0
        static void Main(string[] args)
        {
            var weaponFactory = new WeaponFactory();
            var gemfactory    = new GemFactory();
            var repository    = new Repository();

            var engine = new Engine(weaponFactory, gemfactory, repository);

            engine.Run();
        }
Пример #27
0
        static void Main()
        {
            IRepository    repository    = new WeaponRepository();
            IWeaponFactory weaponFactory = new WeaponFactory();
            IGemFactory    gemFactory    = new GemFactory();

            Engine engine = new Engine(repository, weaponFactory, gemFactory);

            engine.Run();
        }
    private void Awake()
    {
        health = new HealthHandler(PlayerProperties.playerTotalHealth);
        health.HealthUpdate += OnHealthUpdate;
        health.Died         += OnPlayerDied;
        OnHealthUpdate(PlayerProperties.playerTotalHealth);
        weaponFactory = new WeaponFactory();

        IntializeStateMachine();
    }
Пример #29
0
        public override void Load()
        {
            WeaponFactory weaponFactory = new WeaponFactory();

            //Bind<IWeapon>().To<Sword>();
            Bind <IWeapon>().ToMethod(x =>
            {
                return(weaponFactory.GetWeapon());
            });
        }
Пример #30
0
        public static void Main()
        {
            IGemFactory         gemFactory         = new GemFactory();
            IWeaponFactory      weaponFactory      = new WeaponFactory();
            IRepository         weaponRepository   = new WeaponRepository();
            ICommandInterpreter commandInterpreter = new CommandInterpreter(weaponRepository, weaponFactory, gemFactory);
            IRunnable           engine             = new Engine(commandInterpreter);

            engine.Run();
        }
Пример #31
0
    /// <summary>
    /// Loads the fields according to the save file.
    /// </summary>
    public void LoadFromSave()
    {
        weaponFactory = new WeaponFactory();
        _score = Camera.main.GetComponent<Score>();
        setUnActive ();
        setActive ();
        setTextOfLockUnlock ();
        for (int i = 0; i < 8; i ++) {
            unitCostWeaponTexts[i].text = weaponCost[i] + " Units";
        }
        playerAnimator = gameObject.GetComponent<Animator> ();
        pSys1.enableEmission = false;
        pSys2.enableEmission = false;

        PlayerSounds = gameObject.GetComponent<SoundsPlayer>();
        WeaponsSounds = gameObject.GetComponent<SoundsWeapons>();

        WeaponsSounds.loadGunSounds(gameObject);

        if (currentWeaponInt == 1){
            currentWeapon = weaponFactory.getPistol();
            playerAnimator.SetInteger("weapon", 1);
            currentWeaponInt = 1;
            setAllWeaponsUnactive();
            weapons[0].SetActive(true);
        }
        if (currentWeaponInt == 2){
            currentWeapon = weaponFactory.getShrimpPistol();
            currentWeaponInt = 2;
            playerAnimator.SetInteger("weapon", 1);
            setAllWeaponsUnactive();
            weapons[1].SetActive(true);
        }
        if (currentWeaponInt == 3){
            currentWeapon = weaponFactory.getStingerGun();
            currentWeaponInt = 3;
            playerAnimator.SetInteger("weapon", 1);
            setAllWeaponsUnactive();
            weapons[2].SetActive(true);
        }
        if (currentWeaponInt == 4){
            currentWeapon = weaponFactory.getWeaponizedEel();
            currentWeaponInt = 4;
            playerAnimator.SetInteger("weapon", 3);
            setAllWeaponsUnactive();
            weapons[3].SetActive(true);
        }
        if (currentWeaponInt == 5){
            currentWeapon = weaponFactory.getWunderwuffen();
            currentWeapon.setType(new Type(1));
            currentWeaponInt = 5;
            playerAnimator.SetInteger("weapon", 1);
            setAllWeaponsUnactive();
            weapons[4].SetActive(true);
        }
        if (currentWeaponInt == 6){
            currentWeapon = weaponFactory.getBatteringRam();
            currentWeaponInt = 6;
            playerAnimator.SetInteger("weapon", 3);
            setAllWeaponsUnactive();
            weapons[5].SetActive(true);
        }
        if (currentWeaponInt == 7){
            currentWeapon = weaponFactory.getSwordfish();
            currentWeaponInt = 7;
            playerAnimator.SetInteger("weapon", 2);
            setAllWeaponsUnactive();
            weapons[6].SetActive(true);
        }
        if (currentWeaponInt == 8){
            currentWeapon = weaponFactory.getBaseballBat();
            currentWeaponInt = 8;
            playerAnimator.SetInteger("weapon", 2);
            setAllWeaponsUnactive();
            weapons[7].SetActive(true);
        }
    }