示例#1
0
        private IPlayer CreatePlayer(string type, string username, int health, int armor, string gunName)
        {
            IPlayer player = null;
            IGun    gun    = this.guns.FindByName(gunName);

            if (type == "Terrorist")
            {
                if (gun == null)
                {
                    throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
                }
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == "CounterTerrorist")
            {
                if (gun == null)
                {
                    throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
                }
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }
            return(player);
        }
示例#2
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            Gun gun = guns.FindByName(gunName) as Gun;

            if (gun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            if (type == "Terrorist")
            {
                Terrorist terrorist = new Terrorist(username, health, armor, gun);

                this.players.Add(terrorist);
                return(string.Format(OutputMessages.SuccessfullyAddedPlayer, username));
            }
            else if (type == "CounterTerrorist")
            {
                CounterTerrorist counter = new CounterTerrorist(username, health, armor, gun);

                this.players.Add(counter);
                return(string.Format(OutputMessages.SuccessfullyAddedPlayer, username));
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }
        }
示例#3
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            IPlayer player;
            IGun    gun = gunRepository.FindByName(gunName);

            if (gun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            if (type == "Terrorist")
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == "CounterTerrorist")
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            playerRepository.Add(player);

            return(string.Format(OutputMessages.SuccessfullyAddedPlayer, username));
        }
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            IPlayer player = null;

            IGun gun = this.guns.FindByName(gunName);

            if (gun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            if (type == "Terrorist")
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == "CounterTerrorist")
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            this.players.Add(player);
            return($"Successfully added player {username}.");
        }
示例#5
0
        internal Soldier GetSoldier(string typeOfSoldier)
        {
            Soldier soldier = null;

            if (this.soldiers.ContainsKey(typeOfSoldier))
            {
                soldier = soldiers[typeOfSoldier];
            }
            else
            {
                switch (typeOfSoldier)
                {
                case "terrorist":
                    soldier = new Terrorist();
                    break;

                case "cop":
                    soldier = new Cop();
                    break;

                default:
                    throw new ArgumentException(String.Format("There is no such type ({0} of soldier!", typeOfSoldier));
                }

                this.soldiers.Add(typeOfSoldier, soldier);
            }

            return(soldier);
        }
示例#6
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            IPlayer player;
            IGun    gun = gunRepository.FindByName(gunName);

            if (gun == null)
            {
                throw new ArgumentException("Gun cannot be found!");
            }
            if (type == "Terrorist")
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == "CounterTerrorist")
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException("Invalid player type!");
            }

            playerRepository.Add(player);
            return($"Successfully added player {username}.");
        }
示例#7
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            IGun gun = guns.FindByName(gunName);

            if (gun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            IPlayer player = null;

            if (type == nameof(Terrorist))
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == nameof(CounterTerrorist))
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            this.players.Add(player);

            string message = string.Format(OutputMessages.SuccessfullyAddedPlayer, player.Username);

            return(message);
        }
示例#8
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            var gun = _guns.FindByName(gunName);

            if (gun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            if (!Enum.TryParse(type, out PlayerType playerType))
            {
                throw new ArgumentException(ExceptionMessages.InvalidGunType);
            }

            IPlayer player = null;

            switch (playerType)
            {
            case PlayerType.Terrorist:
                player = new Terrorist(username, health, armor, gun);
                break;

            case PlayerType.CounterTerrorist:
                player = new CounterTerrorist(username, health, armor, gun);
                break;
            }
            _players.Add(player);

            return(string.Format(OutputMessages.SuccessfullyAddedPlayer, username));
        }
示例#9
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            var gun = this.gunRepository.Models.FirstOrDefault(x => x.Name == gunName);

            if (gun is null)
            {
                throw new ArgumentException("Gun cannot be found!");
            }

            IPlayer player;

            if (type == "Terrorist")
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == "CounterTerrorist")
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException("Invalid player type!");
            }

            this.playerRepository.Add(player);

            return($"Successfully added player {username}.");
        }
示例#10
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            Player player = null;

            var gun = guns.Models.FirstOrDefault(g => g.Name == gunName);

            if (gun is null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            switch (type)
            {
            case "Terrorist":
                player = new Terrorist(username, health, armor, gun);
                break;

            case "CounterTerrorist":
                player = new CounterTerrorist(username, health, armor, gun);
                break;

            default:
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            players.Add(player);
            return($"Successfully added player {player.Username}.");
        }
示例#11
0
    public override bool use(Terrorist t)
    {
        bool value = base.use(t);

        if (value)
        {
            estado_uso = STATE_uso.DIRIGIRSE_ATRACCION;
            setTerroristObjective();
        }
        return(value);
    }
示例#12
0
 public virtual bool use(Terrorist t)
 {
     if (terrorist != null)
     {
         return(false);
     }
     else
     {
         terrorist = t;
         return(true);
     }
 }
示例#13
0
        static void Main(string[] args)
        {
            Dispatcher D1 = new Dispatcher("Киев", "Петров");
            Dispatcher D2 = new Dispatcher("Черкассы", "Шевченко");
            Dispatcher D3 = new Dispatcher("Запорожье", "Бывалый");
            Aeroplan   A  = new Aeroplan();

            A.addDispetcher(D1.workMessage);
            A.addDispetcher(D2.workMessage);
            A.addDispetcher(D3.workMessage);
            Terrorist BenLaden = new Terrorist();

            A.addDispetcher(BenLaden.terrorAction);
            A.fly();
        }
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            IGun gun = this.gunRepository.FindByName(gunName);  // No Reflection

            if (gun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            IPlayer player;

            if (type == typeof(Terrorist).Name)
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == typeof(CounterTerrorist).Name)
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidplayerType);
            }

            this.playerRepository.Add(player);

            return(string.Format(OutputMessages.SuccessfullyAddedPlayer, username));


            //try   // => Reflection, this may have Exception message mistakes !!!!.
            //{
            //    Assembly assembly = Assembly.GetExecutingAssembly();
            //    Type playerType = assembly.GetTypes().FirstOrDefault(t => t.Name == type);
            //    object[] args = new object[] { username, health, armor, gun };
            //    IPlayer player = (Player)Activator.CreateInstance(playerType, args);
            //    this.playerRepository.Add(player);
            //    return string.Format(OutputMessages.SuccessfullyAddedPlayer, username);
            //}
            //catch (Exception)
            //{
            //    throw new ArgumentException(ExceptionMessages.InvalidplayerType);
            //}
        }
示例#15
0
        private IPlayer CreatePlayer(string type, string username, int health, int armor, IGun gun)
        {
            IPlayer player = null;

            if (type == nameof(Terrorist))
            {
                player = new Terrorist(username, health, armor, gun);
            }
            else if (type == nameof(CounterTerrorist))
            {
                player = new CounterTerrorist(username, health, armor, gun);
            }
            else
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            return(player);
        }
示例#16
0
    public bool GenerateTerrorist(int amount)
    {
        Bounds exitBounds = parkExit.GetComponent <BoxCollider>().bounds;

        if (terroristPrefab != null)
        {
            for (int i = 0; i < amount; i++)
            {
                float     spawnPosX = UnityEngine.Random.Range(exitBounds.min.x, exitBounds.max.x);
                float     spawnPosY = UnityEngine.Random.Range(exitBounds.min.z, exitBounds.max.z);
                Vector3   spawnPos  = new Vector3(spawnPosX, 0, spawnPosY);
                Terrorist t         = Instantiate(
                    terroristPrefab,
                    spawnPos,
                    Quaternion.Euler(0, UnityEngine.Random.Range(0, 359), 0),
                    terroristContainer.transform
                    );
                t.gameObject.SetActive(true);
            }
            return(true);
        }
        return(false);
    }
示例#17
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            var currentGun = this.guns.Models.FirstOrDefault(g => g.Name == gunName);

            if (currentGun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            IPlayer player = null;

            switch (type)
            {
            case "Terrorist": player = new Terrorist(username, health, armor, currentGun); break;

            case "CounterTerrorist": player = new CounterTerrorist(username, health, armor, currentGun); break;

            default: throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            this.players.Add(player);

            return(string.Format(OutputMessages.SuccessfullyAddedPlayer, username));
        }
示例#18
0
        public string AddPlayer(string type, string username, int health, int armor, string gunName)
        {
            IGun currGun = this._guns.FindByName(gunName);

            if (currGun == null)
            {
                throw new ArgumentException(ExceptionMessages.GunCannotBeFound);
            }

            if (!this._playerTypes.Contains(type))
            {
                throw new ArgumentException(ExceptionMessages.InvalidPlayerType);
            }

            IPlayer currPlayer = null;

            switch (type)
            {
            case "Terrorist":
                currPlayer = new Terrorist(username, health, armor, currGun);
                break;

            case "CounterTerrorist":
                currPlayer = new CounterTerrorist(username, health, armor, currGun);
                break;
            }

            if (this._players.Models.Any(p => p.Username == username))
            {
                return(null);
            }

            this._players.Add(currPlayer);

            return($"Successfully added player {currPlayer.Username}.");
        }
示例#19
0
 // Start is called before the first frame update
 void Start()
 {
     terrorist = null;
 }