/// <summary> /// Customs the event call. /// </summary> /// <param name='type'> /// Type. /// </param> /// <param name='param'> /// Parameter. /// </param> public void CustomEventCall(CustomEventType type, params object[] param) { return; try{ Globals.Instance.MConnectManager.PutFlurryEvent(type.ToString(), param); ProcessTalkingDataPurchaseEvent(type, param); }catch {}; }
/// <summary> /// Processes the talking data purchase event. /// </summary> /// <param name='type'> /// Type. /// </param> /// <param name='param'> /// Parameter. /// </param> private void ProcessTalkingDataPurchaseEvent(CustomEventType type, params object[] param) { switch (type) { case CustomEventType.BlueprintCompose: if ((bool)param[1]) { UploadTalkingDataPurchaseEvent(type.ToString(), 100); } break; case CustomEventType.TechSpeedUp: if ((int)param[3] == 2) { UploadTalkingDataPurchaseEvent(type.ToString(), (int)param[5]); } break; case CustomEventType.IngotExchange: UploadTalkingDataPurchaseEvent(type.ToString(), (int)param[1]); break; case CustomEventType.AddShipBlood: UploadMoneyConsumeEvent(type.ToString(), (int)param[1]); break; case CustomEventType.BuyTreasureMap: UploadMoneyConsumeEvent(type.ToString(), (int)param[1]); break; default: // upload the purchase talkingdata event // for (int idx = 0; idx < param.Length; idx++) { object p = param[idx]; // has if (p is string && p.ToString() == "price" && idx < param.Length - 1) { bool tUploadIngot = true; for (int i = 0; i < param.Length; i++) { if (param[i] is string && param[i].ToString() == "useIngot") { if (!(bool)(param[i + 1])) { tUploadIngot = false; } } } int priceOrMoney = int.Parse(param[idx + 1].ToString()); if (tUploadIngot) { UploadTalkingDataPurchaseEvent(type.ToString(), priceOrMoney); } else { UploadMoneyConsumeEvent(type.ToString(), priceOrMoney); } break; } } break; } }