示例#1
0
        public static bool ValidateIAP <T>(MsgBuyProductFromClient msg, out T iapProduct, out ServerBuyProductFail fail) where T : BaseIAPProduct
        {
            iapProduct = null;
            fail       = ServerBuyProductFail.None;
            // Variables from message
            string productId = msg.productId;

            if (IAPManager <T> .Instance.ConsumableProducts.TryGetValue(productId, out iapProduct))
            {
                return(true);
            }
            else
            {
                fail = ServerBuyProductFail.NoProduct;
            }
            return(false);
        }
示例#2
0
        public static void OnServerBuyProduct <T>(NetworkMessage netMsg) where T : BaseIAPProduct
        {
            T iapProduct = null;
            ServerBuyProductFail    fail = ServerBuyProductFail.None;
            MsgBuyProductFromClient msg  = netMsg.ReadMessage <MsgBuyProductFromClient>();

            if (ValidateIAP(msg, out iapProduct, out fail))
            {
                if (onBuyProductSuccess != null)
                {
                    onBuyProductSuccess(netMsg.conn, msg, iapProduct);
                }
            }
            else
            {
                if (onBuyProductFail != null)
                {
                    onBuyProductFail(netMsg.conn, msg, fail);
                }
            }
        }