AbstractStore.cs
1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System.Collections.ObjectModel;
using System.Collections.Generic;
namespace UnityEngine.Purchasing.Extension
{
/// <summary>
/// Extension point for purchasing plugins.
///
/// An abstract class is provided so that methods can be added to the IStore
/// without breaking binary compatibility with existing plugins.
/// </summary>
public abstract class AbstractStore : IStore
{
/// <summary>
/// Terminal - no callback required
/// </summary>
/// <param name="callback"></param>
public abstract void Initialize(IStoreCallback callback);
/// <summary>
/// Returns results through IStoreCallback previously passed into Initialize
/// </summary>
/// <param name="products"></param>
public abstract void RetrieveProducts(ReadOnlyCollection<ProductDefinition> products);
/// <summary>
/// Returns results through IStoreCallback previously passed into Initialize
/// </summary>
/// <param name="product"></param>
/// <param name="developerPayload"></param>
public abstract void Purchase(ProductDefinition product, string developerPayload);
/// <summary>
/// Returns results through IStoreCallback previously passed into Initialize
/// </summary>
/// <param name="product"></param>
/// <param name="transactionId"></param>
public abstract void FinishTransaction(ProductDefinition product, string transactionId);
}
}