using Microsoft.Extensions.Localization;
using System;
using System.Globalization;
namespace BetterGenshinImpact.GameTask.Model;
///
/// 独立任务参数基类
///
public abstract class BaseTaskParam where T : class
{
///
/// 游戏语言CultureInfo
///
public CultureInfo GameCultureInfo { get; private set; }
///
/// 多语言StringLocalizer
/// 用于读取与 同名的.resx文件中的多语言信息
///
public IStringLocalizer StringLocalizer { get; private set; }
public BaseTaskParam(CultureInfo? gameCultureInfo, IStringLocalizer? stringLocalizer)
{
GameCultureInfo = gameCultureInfo ?? new CultureInfo(TaskContext.Instance().Config.OtherConfig.GameCultureInfoName);
StringLocalizer = stringLocalizer ?? App.GetService>() ?? throw new Exception();
}
}