public override void AddPurchaseResponseListener(PurchaseResponseDelegate responseDelegate) { Start(); string eventId = "purchaseResponse"; lock (eventLock) { if (eventListeners.ContainsKey(eventId)) { eventListeners[eventId].Add(new PurchaseResponseDelegator(responseDelegate)); } else { var list = new List <IDelegator>(); list.Add(new PurchaseResponseDelegator(responseDelegate)); eventListeners.Add(eventId, list); } } }
public override void RemovePurchaseResponseListener(PurchaseResponseDelegate responseDelegate) { Start(); string eventId = "purchaseResponse"; lock (eventLock) { if (eventListeners.ContainsKey(eventId)) { foreach (PurchaseResponseDelegator delegator in eventListeners[eventId]) { if (delegator.responseDelegate == responseDelegate) { eventListeners[eventId].Remove(delegator); return; } } } } }
public PurchaseResponseDelegator(PurchaseResponseDelegate responseDelegate) { this.responseDelegate = responseDelegate; }
public abstract void RemovePurchaseResponseListener(PurchaseResponseDelegate responseDelegate);
public abstract void RemovePurchaseResponseListener (PurchaseResponseDelegate responseDelegate);