﻿namespace JLGames.RocketDriver.Games.RpgMaterial.User
{
    public interface IUserMaterialGenerator
    {
        /// <summary>
        /// Generate instance
        /// 生成实例
        /// </summary>
        /// <param name="mid"></param>
        /// <param name="num"></param>
        /// <returns></returns>
        IUserMaterial GenUserMaterial(int mid, int num = 0);
    }

    public interface IUserMaterialGenerator<TU> : IUserMaterialGenerator
        where TU : class, IUserMaterial
    {
        /// <summary>
        /// Generate instance
        /// 生成实例
        /// </summary>
        /// <param name="mid"></param>
        /// <param name="num"></param>
        /// <returns></returns>
        TU GenUserMaterialAs(int mid, int num = 0);
    }
}