Exemplo n.º 1
0
        /// <summary>
        /// Загружает все копии врагов с настройками
        /// </summary>
        /// <param name="data"> Строка с настрйоками врага</param>
        /// <returns></returns>
        public static void CreateInstanceOfEnemy(string _data)
        {
            // Заменить принетры на специальные для фабрики
            // Type
            var reg        = new Regex("Type:(\\w+)");
            var typestring = reg.Match(_data).Groups[0].Value;

            // MaxHealth
            reg = new Regex("MaxHealth:(\\w+)");
            var maxhealth = int.Parse(reg.Match(_data).Groups[0].Value);

            reg = new Regex("Health:(\\w+)");
            var health = int.Parse(reg.Match(_data).Groups[0].Value);

            reg = new Regex("HitDamage:(\\w+)");
            var hitdamage = int.Parse(reg.Match(_data).Groups[0].Value);

            // Выделяем строку с атаками
            reg = new Regex("(Attacks:\\S+;)");
            string astring = reg.Match(_data).Groups[0].Value;

            // Выделяем атаки
            reg = new Regex("(\\d+)");
            var attacks = reg.Matches(astring);

            AttackStructure[] attackStructures = new AttackStructure[attacks.Count];
            for (int i = 0; i < attacks.Count; i++)
            {
                attackStructures[i] = AttackStructure.ToAttackStructure(attacks[i].Value);
            }

            //var IA = CreateAttackEnitity(_HitDamage: hitdamage,_NextAttack: new AttackStructure,)
        }
Exemplo n.º 2
0
 public AttackEntityPattern(int _HitDamage, AttackStructure _NextAttack, List <CastableEffect> _BaseEffects, bool _IsStunned)
 {
     HitDamage   = _HitDamage;
     NextAttack  = _NextAttack;
     BaseEffects = _BaseEffects;
     IsStunned   = _IsStunned;
 }
Exemplo n.º 3
0
        public static IAttackEntity CreateAttackEnitity(int _HitDamage, AttackStructure _NextAttack, List <CastableEffect> _BaseEffects, bool _IsStunned)
        {
            if (_BaseEffects == null)
            {
                _BaseEffects = new List <CastableEffect>();
            }

            var attackEntityPattern = new AttackEntityPattern(_HitDamage, _NextAttack, _BaseEffects, _IsStunned);

            return(attackEntityPattern);
        }