namespace Cute;

public class PaymentPCStartTask : NetworkTask
{
	protected PCPlatform _platform;

	protected CuteNetworkDefine.ApiType _apiType = CuteNetworkDefine.ApiType.PaymentPCStart;

	public PaymentBase.RefundWarningType NeedRefundWarningType { get; private set; }

	public override string Url => $"{CustomPreference.GetApplicationServerURL()}{CuteNetworkDefine.ApiUrlList[_apiType]}";

	public PaymentPCStartTask()
	{
		_platform = new PCPlatformSTEAM();
	}

	public void SetParameter(string ProductId, bool isAlertAgree, bool isAlertActive)
	{
		base.Params = _platform.SetParameter(ProductId, isAlertAgree, isAlertActive);
	}

	protected override int Parse()
	{
		int num = base.Parse();
		if (num != 1)
		{
			return num;
		}
		if (base.ResponseData["data"].Count > 0)
		{
			_platform.Parse(base.ResponseData["data"]);
			NeedRefundWarningType = (PaymentBase.RefundWarningType)base.ResponseData["data"]["refund_penalty_type"].ToInt();
		}
		return num;
	}

	public PCPlatform getPCPlatform()
	{
		return _platform;
	}
}
