/// <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,) }
public AttackEntityPattern(int _HitDamage, AttackStructure _NextAttack, List <CastableEffect> _BaseEffects, bool _IsStunned) { HitDamage = _HitDamage; NextAttack = _NextAttack; BaseEffects = _BaseEffects; IsStunned = _IsStunned; }
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); }