Ejemplo n.º 1
0
    private static string GetCurrencyStringType(AnalyticsManager.CurrencyType inCurrencyType)
    {
        int num = (int)inCurrencyType;

        if (num > -1 && num < AnalyticsManager.CurrencyTypeString.Length)
        {
            return(AnalyticsManager.CurrencyTypeString[(int)inCurrencyType]);
        }
        return((string)null);
    }
Ejemplo n.º 2
0
    public static void TrackCurrencyUse(AnalyticsManager.CurrencyType inCurrencyType, AnalyticsManager.CurrencySubType inCurrencySubType, long inAmount, string inSinkSource, Dictionary <string, object> inExtraEventsData = null)
    {
        if (inAmount <= 0L)
        {
            return;
        }
        Dictionary <string, object> eventContent = new Dictionary <string, object>();

        switch (inCurrencyType)
        {
        case AnalyticsManager.CurrencyType.Gem:
            eventContent["type"] = (object)AnalyticsManager.GetCurrencyStringType(inCurrencyType);
            switch (inCurrencySubType)
            {
            case AnalyticsManager.CurrencySubType.PAID:
                AnalyticsManager.IncrementUserAttribute(AnalyticsManager.LifetimePaidGemsUsed, inAmount);
                eventContent["subtype"] = (object)"paid";
                break;

            case AnalyticsManager.CurrencySubType.FREE:
                AnalyticsManager.IncrementUserAttribute(AnalyticsManager.LifetimeFreeGemsUsed, inAmount);
                eventContent["subtype"] = (object)"free";
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

        case AnalyticsManager.CurrencyType.Zeni:
            AnalyticsManager.IncrementUserAttribute(AnalyticsManager.LifetimeZeniUsed, inAmount);
            break;
        }
        eventContent["amount"] = (object)inAmount;
        eventContent["sink"]   = (object)inSinkSource;
        if (inExtraEventsData != null)
        {
            using (Dictionary <string, object> .Enumerator enumerator = inExtraEventsData.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    KeyValuePair <string, object> current = enumerator.Current;
                    eventContent[current.Key] = current.Value;
                }
            }
        }
        AnalyticsManager.RecordCustomEvent("currency.use." + AnalyticsManager.GetCurrencyStringType(inCurrencyType), eventContent);
    }