Пример #1
0
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Type        ammoType     = Type.GetType(ammunitionName);
        IAmmunition ammoInstance = Activator.CreateInstance(ammoType) as IAmmunition;

        return(ammoInstance);
    }
Пример #2
0
 public void RemoveAmmunition(IAmmunition ammunition)
 {
     if (this.ammunitions.ContainsKey(ammunition.Name))
     {
         this.ammunitions[ammunition.Name].Remove(ammunition);
     }
 }
Пример #3
0
 private void HandleWeaponAmmunition(IWeapon baseWeapon)
 {
     if (baseWeapon is IAmmunition)
     {
         _ammunition = (baseWeapon as IAmmunition);
     }
 }
    public IAmmunition CreateAmmunition(string ammunitionName, int number)
    {
        Type typeAmmoToCreate = Assembly.GetExecutingAssembly().GetTypes()
                                .FirstOrDefault(x => x.Name.Equals(ammunitionName, StringComparison.OrdinalIgnoreCase));
        IAmmunition ammo = (IAmmunition)Activator.CreateInstance(typeAmmoToCreate, number);

        return(ammo);
    }
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Type type = Assembly.GetCallingAssembly().GetTypes().FirstOrDefault(t => t.Name == ammunitionName);

        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(type);

        return(ammunition);
    }
Пример #6
0
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Type type = Type.GetType(ammunitionName);

        IAmmunition instance = (IAmmunition)Activator.CreateInstance(type, new object[] { ammunitionName });

        return(instance);
    }
Пример #7
0
    public IAmmunition CreateAmmunition(string name)
    {
        Type classType = Type.GetType(name);

        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(classType, new object[] { name });

        return(ammunition);
    }
Пример #8
0
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Assembly    assembly   = Assembly.GetExecutingAssembly();
        Type        type       = assembly.GetTypes().FirstOrDefault(t => t.Name == ammunitionName);
        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(type, new object[] { ammunitionName });

        return(ammunition);
    }
Пример #9
0
 public Weapon(IAmmunition bullet, Transform barrelPosition, float force, AudioSource audioSource, AudioClip audioClip)
 {
     _bullet         = bullet;
     _barrelPosition = barrelPosition;
     _force          = force;
     _audioSource    = audioSource;
     _audioClip      = audioClip;
 }
Пример #10
0
    private void AddAmmunitions(IAmmunition ammunition)
    {
        if (!this.WareHouse.Ammunitions.ContainsKey(ammunition.Name))
        {
            this.WareHouse.Ammunitions[ammunition.Name] = new List <IAmmunition>();
        }

        this.WareHouse.Ammunitions[ammunition.Name].Add(ammunition);
    }
Пример #11
0
    public void AddAmmunitions(IAmmunition ammunition)
    {
        if (!this.ammunitions.ContainsKey(ammunition.Name))
        {
            this.ammunitions[ammunition.Name] = new List <IAmmunition>();
        }

        this.ammunitions[ammunition.Name].Add(ammunition);
    }
Пример #12
0
 public void AddAmmunition(IAmmunition ammuniton, int count)
 {
     if (!this.Ammunitions.ContainsKey(ammuniton))
     {
         this.Ammunitions.Add(ammuniton, count);
         return;
     }
     this.Ammunitions[ammuniton] += count;
 }
Пример #13
0
    public IAmmunition CreateAmmunition(string name)
    {
        Assembly assembly       = Assembly.GetExecutingAssembly();
        Type     ammunitionType = assembly.GetType(name);

        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(ammunitionType);

        return(ammunition);
    }
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Type type = Assembly.GetExecutingAssembly()
                    .GetTypes().FirstOrDefault(t => t.Name.Equals(ammunitionName, StringComparison.OrdinalIgnoreCase));

        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(type, ammunitionName);

        return(ammunition);
    }
        public static IWeapon CreateEmptyWeapon(IAmmunition ammunition, int countAmmunition)
        {
            var weapon = new GameObject(nameof(Weapon)).AddComponent <Weapon>();

            weapon.Ammunition       = ammunition;
            weapon._countAmmunition = 0;

            return(weapon);
        }
 /// <summary>
 /// Specific constructor needed for all Ammunition Containers.
 /// </summary>
 /// <param name="ammunition">Ammunition this container holds.</param>
 /// <param name="ammunitionCount">The current amount of ammuntion in the container.</param>
 /// <param name="maxiumAmmunitionCount">The maximum amount of ammuntion the container can hold.</param>
 protected AmmunitionContainer(
     IAmmunition ammunition,
     int ammunitionCount,
     int maxiumAmmunitionCount)
 {
     Ammunition            = ammunition;
     AmmunitionCount       = ammunitionCount;
     MaxiumAmmunitionCount = maxiumAmmunitionCount;
 }
Пример #17
0
 /// <summary>
 /// Specific constructor needed for all Ammunition Containers.
 /// </summary>
 /// <param name="ammunition">Ammunition this container holds.</param>
 /// <param name="ammunitionCount">The current amount of ammuntion in the container.</param>
 /// <param name="maxiumAmmunitionCount">The maximum amount of ammuntion the container can hold.</param>
 public AmmunitionMagazine(
     IAmmunition ammunition,
     int ammunitionCount,
     int maxiumAmmunitionCount)
     : base(ammunition,
             ammunitionCount,
             maxiumAmmunitionCount)
 {
 }
Пример #18
0
 /// <summary>
 /// Specific constructor needed for all Ammunition Containers.
 /// </summary>
 /// <param name="ammunition">Ammunition this container holds.</param>
 /// <param name="ammunitionCount">The current amount of ammuntion in the container.</param>
 /// <param name="maxiumAmmunitionCount">The maximum amount of ammuntion the container can hold.</param>
 protected AmmunitionContainer(
     IAmmunition ammunition,
     int ammunitionCount,
     int maxiumAmmunitionCount)
 {
     Ammunition = ammunition;
     AmmunitionCount = ammunitionCount;
     MaxiumAmmunitionCount = maxiumAmmunitionCount;
 }
Пример #19
0
 /// <summary>
 /// Specific constructor needed for all Ammunition Containers.
 /// </summary>
 /// <param name="ammunition">Ammunition this container holds.</param>
 /// <param name="ammunitionCount">The current amount of ammuntion in the container.</param>
 /// <param name="maxiumAmmunitionCount">The maximum amount of ammuntion the container can hold.</param>
 public AmmunitionClip(
     IAmmunition ammunition,
     int ammunitionCount,
     int maxiumAmmunitionCount)
     : base(ammunition,
             ammunitionCount,
             maxiumAmmunitionCount)
 {
 }
Пример #20
0
 /// <summary>
 /// Specific constructor needed for all Ammunition Containers.
 /// </summary>
 /// <param name="ammunition">Ammunition this container holds.</param>
 /// <param name="ammunitionCount">The current amount of ammuntion in the container.</param>
 /// <param name="maxiumAmmunitionCount">The maximum amount of ammuntion the container can hold.</param>
 public AmmunitionBox(
     IAmmunition ammunition,
     int ammunitionCount,
     int maxiumAmmunitionCount) :
     base(
         ammunition,
         ammunitionCount,
         maxiumAmmunitionCount)
 {
 }
 /// <summary>
 /// Specific constructor needed for all Ammunition Containers.
 /// </summary>
 /// <param name="ammunition">Ammunition this container holds.</param>
 /// <param name="ammunitionCount">The current amount of ammuntion in the container.</param>
 /// <param name="maxiumAmmunitionCount">The maximum amount of ammuntion the container can hold.</param>
 public AmmunitionMagazine(
     IAmmunition ammunition,
     int ammunitionCount,
     int maxiumAmmunitionCount) :
     base(
         ammunition,
         ammunitionCount,
         maxiumAmmunitionCount)
 {
 }
Пример #22
0
 private void AddAmmunitions(IAmmunition ammunition, int number)
 {
     if (!this.WareHouse.Weapons.ContainsKey(ammunition))
     {
         this.WareHouse.Weapons[ammunition] = number;
     }
     else
     {
         this.WareHouse.Weapons[ammunition] += number;
     }
 }
    public void AddAmmunition(IAmmunition ammunition, int numberOfAmmunitions)
    {
        this.Weapons[ammunition.Name] = ammunition;

        if (!this.WeaponsCounter.ContainsKey(ammunition.Name))
        {
            this.WeaponsCounter[ammunition.Name] = 0;
        }

        this.WeaponsCounter[ammunition.Name] += numberOfAmmunitions;
    }
 public Weapon(IAmmunition bullet, Transform barrelPosition, float force, AudioSource audioSource, AudioClip audioClip)
 {
     _bullet                 = bullet;
     _barrelPosition         = barrelPosition;
     _barrelPositionStandart = barrelPosition;
     _force                   = force;
     _audioSource             = audioSource;
     _audioSourseDefoltVolume = _audioSource.volume;
     _audioClip               = audioClip;
     _audioClipDefolt         = audioClip;
 }
 private void AddAmmunitions(IAmmunition ammunition, int value)
 {
     if (!this.wearHouse.Ammunitions.ContainsKey(ammunition))
     {
         this.wearHouse.Ammunitions.Add(ammunition, value);
     }
     else
     {
         this.wearHouse.Ammunitions[ammunition] += value;
     }
 }
Пример #26
0
 public void AddAmmunitions(IAmmunition ammunition, int count)
 {
     if (amunitionCount.ContainsKey(ammunition.Name) == false)
     {
         amunitionCount[ammunition.Name] = count;
     }
     else
     {
         amunitionCount[ammunition.Name] += count;
     }
 }
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Type type = Assembly
                    .GetCallingAssembly()
                    .GetTypes()
                    .FirstOrDefault(t => t.Name == ammunitionName);

        object[]    constructorParams = new object[] { };
        IAmmunition amunition         = (IAmmunition)Activator.CreateInstance(type, constructorParams);

        return(amunition);
    }
Пример #28
0
    public void InterpretCommands(string input)
    {
        var args = input.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

        if (args[0].Equals("Soldier") && args.Length == 6)
        {
            string type       = args[1];
            string name       = args[2];
            int    age        = int.Parse(args[3]);
            double experience = double.Parse(args[4]);
            double endurance  = double.Parse(args[5]);
            try
            {
                ISoldier currentSoldier = this.soldierFactory.CreateSoldier(type, name, age, experience, endurance);
                //EquipIt    currentSoldier.
                this.army.AddSoldier(currentSoldier);
            }
            catch (Exception e)
            {
            }
        }

        else if (args[0].Equals("WareHouse") && args.Length == 3)
        {
            string name  = args[1];
            int    count = int.Parse(args[2]);
            try
            {
                IAmmunition currentAmunition = this.ammunitionFactory.CreateAmmunition(name);
                this.wareHouse.AddAmmunition(currentAmunition, count);
            }
            catch (Exception e)
            {
            }
        }

        else if (args[0].Equals("Mission") && args.Length == 3)
        {
            try
            {
                IMission currentMission = this.missionFactory.CreateMission(args[1], double.Parse(args[2]));
                this.writer.WriteLine(this.missionController.PerformMission(currentMission));
            }
            catch (Exception e)
            {
            }
        }

        else if (args[0].Equals("Soldier") && args.Length == 3 && args[1].Equals("Regenerate"))
        {
            this.army.RegenerateTeam(args[2]);
        }
    }
Пример #29
0
    public IAmmunition CreateAmmunition(string ammunitionName)
    {
        Assembly assembly = Assembly.GetExecutingAssembly();

        Type ammunitionType = assembly.GetTypes().Where(t => t.Name == ammunitionName).First();

        object[] ctorArgs = new object[] { ammunitionName };

        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(ammunitionType, ctorArgs);

        return(ammunition);
    }
Пример #30
0
    public IAmmunition CreateAmmunition(string name)
    {
        Type ammoType = Assembly.GetExecutingAssembly()
                        .GetTypes()
                        .FirstOrDefault(x => x.Name == name);

        object[] constructorParams = new object[] { name };

        IAmmunition ammunition = (IAmmunition)Activator.CreateInstance(ammoType, constructorParams);

        return(ammunition);
    }
Пример #31
0
    public void GiveInputToGameController(string input)
    {
        var data = input.Split();

        if (data[0].Equals("Soldier"))
        {
            string type       = string.Empty;
            string name       = string.Empty;
            int    age        = 0;
            int    experience = 0;
            double speed      = 0d;
            double endurance  = 0d;
            double motivation = 0;
            double maxWeight  = 0d;

            if (data.Length == 3)
            {
                type = data[1];
                name = data[2];
            }
            else
            {
                type       = data[1];
                name       = data[2];
                age        = int.Parse(data[3]);
                experience = int.Parse(data[4]);
                speed      = double.Parse(data[5]);
                endurance  = double.Parse(data[6]);
                motivation = double.Parse(data[7]);
                maxWeight  = double.Parse(data[8]);
            }

            ISoldier soldier = this.soldiersFactory.CreateSoldier(type, name, age, experience, endurance);
            this.AddSoldierToArmy(soldier, type);
        }
        else if (data[0].Equals("WareHouse"))
        {
            string name   = data[1];
            int    number = int.Parse(data[2]);

            IAmmunition ammunition = this.ammunitionFactory.CreateAmmunition(name);
            this.AddAmmunitions(ammunition, number);
        }
        else if (data[0].Equals("Mission"))
        {
            string name            = data[1];
            double scoreToComplete = double.Parse(data[2]);

            IMission mission = this.missionFactory.CreateMission(name, scoreToComplete);

            this.MissionControllerField.PerformMission(mission);
        }
    }
Пример #32
0
    private IAmmunition GetAmmunition(string name)
    {
        if (!this.ammunitions.ContainsKey(name) || this.ammunitions[name].Count <= 0)
        {
            return(null);
        }

        IAmmunition ammunition = this.ammunitions[name].Last();

        this.ammunitions[name].RemoveAt(this.ammunitions[name].Count - 1);
        return(ammunition);
    }
Пример #33
0
    public void Run()
    {
        string inputLine;

        while ((inputLine = this.reader.ReadLine()) != TerminatingCommand)
        {
            string[] cmdArgs = inputLine.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            switch (cmdArgs[0])
            {
            case "Soldier":
                //to do soldier Soldier Ranker Ivan 28 55 100

                if (cmdArgs.Length == 3)
                {
                    //to do soldier regenerate
                }
                else
                {
                    string   type           = cmdArgs[1];
                    string   name           = cmdArgs[2];
                    int      age            = int.Parse(cmdArgs[3]);
                    double   experience     = double.Parse(cmdArgs[4]);
                    double   endurance      = double.Parse(cmdArgs[6]);
                    ISoldier currentSoldier = SoldierFactory.CreateSoldier(type, name, age, experience, endurance);
                    foreach (var weapon in currentSoldier.Weapons)
                    {
                    }
                }

                break;

            case "WareHouse":
                string ammunitionName = cmdArgs[1];
                int    number         = int.Parse(cmdArgs[2]);

                IAmmunition currentAmmunition = AmmunitionFactory.CreateAmmunition(ammunitionName);

                if (!this.WareHouse.Storage.ContainsKey(currentAmmunition))
                {
                    this.WareHouse.Storage.Add(currentAmmunition, 0);
                }

                this.WareHouse.Storage[currentAmmunition] += number;

                break;

            case "Mission":
                //to do mission
                break;
            }
        }
    }