Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using Game.PaymentsSystem.Data;
- using UnityEngine;
- namespace Game.PaymentsSystem
- {
- [Serializable]
- public class PurchaseData
- {
- /// <summary>
- /// Тип метода оплаты
- /// </summary>
- [SerializeField] private PaymentMethodType _paymentMethodType;
- /// <summary>
- /// Данные метода оплаты
- /// </summary>
- [field: SerializeReference] public IPaymentMethodData PaymentMethodData { get; private set; }
- /// <summary>
- /// Метод для валидации данных
- /// </summary>
- public void Validate()
- {
- PaymentMethodData = _paymentMethodType switch
- {
- PaymentMethodType.Free when PaymentMethodData is not FreePaymentMethodData =>
- new FreePaymentMethodData(),
- PaymentMethodType.Currency when PaymentMethodData is not CurrencyPaymentMethodData =>
- new CurrencyPaymentMethodData(),
- PaymentMethodType.InAppPurchase when PaymentMethodData is not InAppPurchasePaymentData =>
- new InAppPurchasePaymentData(),
- _ => PaymentMethodData
- };
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement