/// <summary> /// Sets the weapon to unit. Unit uses weapons to attack. /// </summary> /// <param name="unit">The unit.</param> /// <param name="weaponData">The weapon data.</param> /// <exception cref="ArgumentNullException">weaponData</exception> private void SetWeaponToUnit(Unit unit, WeaponData weaponData) { var weapon = weaponData?.CreateWeapon(unit) ?? throw new ArgumentNullException(nameof(weaponData)); DependencyInjector.MakeInjections(weapon); unit.SetWeapon(weapon); }