//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
namespace MUnique.OpenMU.GameLogic;
using MUnique.OpenMU.AttributeSystem;
using MUnique.OpenMU.DataModel.Configuration.Items;
using MUnique.OpenMU.GameLogic.Attributes;
///
/// A Factory for power ups which are provided by equipped items.
/// Each power up has to be created individually for a specific player, because some depend on the attributes of the player.
///
public interface IItemPowerUpFactory
{
///
/// Gets the power ups of an individual item.
///
/// The item.
/// The attribute system of the player who equipped the item.
/// The created power ups.
IEnumerable GetPowerUps(Item item, AttributeSystem attributeSystem);
///
/// Gets the set power ups, which are created for existing s in the equipped items.
///
/// The equipped items.
/// The attribute system of the player who equipped the items.
/// The game configuration.
/// The created set power ups.
IEnumerable GetSetPowerUps(IEnumerable- equippedItems, AttributeSystem attributeSystem, GameConfiguration gameConfiguration);
}