baseline: OpenMU upstream b5a0961 (fresh source)

This commit is contained in:
Acentech Dev
2026-07-14 19:00:35 +03:00
parent 450402e47d
commit 36fc125d5c
11968 changed files with 748705 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
// <copyright file="IItemPowerUpFactory.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.GameLogic;
using MUnique.OpenMU.AttributeSystem;
using MUnique.OpenMU.DataModel.Configuration.Items;
using MUnique.OpenMU.GameLogic.Attributes;
/// <summary>
/// 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.
/// </summary>
public interface IItemPowerUpFactory
{
/// <summary>
/// Gets the power ups of an individual item.
/// </summary>
/// <param name="item">The item.</param>
/// <param name="attributeSystem">The attribute system of the player who equipped the item.</param>
/// <returns>The created power ups.</returns>
IEnumerable<PowerUpWrapper> GetPowerUps(Item item, AttributeSystem attributeSystem);
/// <summary>
/// Gets the set power ups, which are created for existing <see cref="ItemSetGroup"/>s in the equipped items.
/// </summary>
/// <param name="equippedItems">The equipped items.</param>
/// <param name="attributeSystem">The attribute system of the player who equipped the items.</param>
/// <param name="gameConfiguration">The game configuration.</param>
/// <returns>The created set power ups.</returns>
IEnumerable<PowerUpWrapper> GetSetPowerUps(IEnumerable<Item> equippedItems, AttributeSystem attributeSystem, GameConfiguration gameConfiguration);
}