public UnitData(UnitDataSO unitDataSO, List <UnitAbility> unitAbilities, List <Goal> goals, Color color, Vector3 initialPosition) { MaxHp = unitDataSO.health; BaseDamage = unitDataSO.baseDamage; Color = color; UnitAbilities = unitAbilities; Goals = goals; Position = initialPosition; }
public static List <UnitAbility> GetUnitAbilities(UnitDataSO unitDataSO) { List <UnitAbility> unitAbilities = new List <UnitAbility>(); foreach (var abilitySetup in unitDataSO.abilities) { var unitAbility = GetUnitAbility(abilitySetup); unitAbilities.Add(unitAbility); } return(unitAbilities); }
public static Unit GetUnit(UnitIdentifier unitIdentifier, UnitDataSO unitDataSO, Vector3 initialPosition) { return (new Unit(unitIdentifier, new UnitData(unitDataSO, UnitAbilityFactory.GetUnitAbilities(unitDataSO), unitDataSO.goalOrientedBehaviourPresetSO.goals, unitIdentifier.TeamId == 0 ? Color.green : Color.red, initialPosition) )); }