private AbilityData GetAbilityDataByType(Enumerators.AbilityType ability) { AbilityData abilityData = null; switch (ability) { case Enumerators.AbilityType.REANIMATE_UNIT: abilityData = new AbilityData(); abilityData.BuffType = "REANIMATE"; abilityData.Type = "REANIMATE_UNIT"; abilityData.ActivityType = "PASSIVE"; abilityData.CallType = "DEATH"; abilityData.ParseData(); break; case Enumerators.AbilityType.DESTROY_TARGET_UNIT_AFTER_ATTACK: abilityData = new AbilityData(); abilityData.BuffType = "DESTROY"; abilityData.Type = "DESTROY_TARGET_UNIT_AFTER_ATTACK"; abilityData.ActivityType = "PASSIVE"; abilityData.CallType = "ATTACK"; abilityData.ParseData(); break; } return(abilityData); }
public void BuffUnitByAbility(Enumerators.AbilityType ability, object target, Card card, Player owner) { ActiveAbility activeAbility = CreateActiveAbility(GetAbilityDataByType(ability), card.CardKind, target, owner, card, null); activeAbility.Ability.Activate(); }
public void ParseData() { AbilityType = Utilites.CastStringTuEnum <Enumerators.AbilityType>(Type); AbilityActivityType = Utilites.CastStringTuEnum <Enumerators.AbilityActivityType>(ActivityType); AbilityCallType = Utilites.CastStringTuEnum <Enumerators.AbilityCallType>(CallType); if (!string.IsNullOrEmpty(TargetType)) { AbilityTargetTypes = Utilites.CastList <Enumerators.AbilityTargetType>(TargetType); } else { AbilityTargetTypes = new List <Enumerators.AbilityTargetType>(); } if (!string.IsNullOrEmpty(StatType)) { AbilityStatType = Utilites.CastStringTuEnum <Enumerators.StatType>(StatType); } else { AbilityStatType = Enumerators.StatType.NONE; } if (!string.IsNullOrEmpty(SetType)) { AbilitySetType = Utilites.CastStringTuEnum <Enumerators.SetType>(SetType); } else { AbilitySetType = Enumerators.SetType.NONE; } if (!string.IsNullOrEmpty(EffectType)) { AbilityEffectType = Utilites.CastStringTuEnum <Enumerators.AbilityEffectType>(EffectType); } else { AbilityEffectType = Enumerators.AbilityEffectType.NONE; } if (!string.IsNullOrEmpty(AttackInfo)) { AttackInfoType = Utilites.CastStringTuEnum <Enumerators.AttackInfoType>(AttackInfo); } else { AttackInfoType = Enumerators.AttackInfoType.ANY; } if (!string.IsNullOrEmpty(CardType)) { TargetCardType = Utilites.CastStringTuEnum <Enumerators.CardType>(CardType); } else { TargetCardType = Enumerators.CardType.NONE; } if (!string.IsNullOrEmpty(UnitStatus)) { TargetUnitStatusType = Utilites.CastStringTuEnum <Enumerators.UnitStatusType>(UnitStatus); } else { TargetUnitStatusType = Enumerators.UnitStatusType.NONE; } if (!string.IsNullOrEmpty(UnitType)) { TargetUnitType = Utilites.CastStringTuEnum <Enumerators.CardType>(UnitType); } }