| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Bag;
- using UnityEngine;
- using Utility;
- public class DBManager : Singleton<DBManager>
- {
- public DBManager()
- {
- EventManager.Instance.AddEventListener(CustomEventType.ItemUpdate, ItemUpdate);
- EventManager.Instance.AddEventListener(CustomEventType.ItemCost, ItemCost);
-
- }
- public string Source = "";
- protected override void ProDispose()
- {
- EventManager.Instance.RemoveEventListener(CustomEventType.ItemUpdate, ItemUpdate);
- EventManager.Instance.RemoveEventListener(CustomEventType.ItemCost, ItemCost);
- }
-
- private void ItemCost(IEventData e)
- {
- ItemUpdateData data = e as ItemUpdateData;
- // if (data != null) RecordCostItems(Source, data.ItemInfo);
- }
- private void ItemUpdate(IEventData e)
- {
- ItemUpdateData data = e as ItemUpdateData;
- // if (data != null) RecordGetItems(Source, data.ItemInfo);
- }
- /// <summary>
- /// 自定义打点
- /// </summary>
- /// <param name="key"></param>
- /// <param name="properties"></param>
- public void CustomEvent(string key, Dictionary<string, object> properties)
- {
- }
-
- /// <summary>
- /// 更新用户属性
- /// </summary>
- /// <param name="properties"></param>
- public void UpdateUserProperty(Dictionary<string, object> properties)
- {
-
- }
- private void ProcessSource(Dictionary<string, object> properties, string s)
- {
- if (string.IsNullOrEmpty(s))
- {
- properties.Add("#source", Source);
- }
- else {
- properties.Add("#source", s);
- }
- }
-
- /// <summary>
- /// 获取道具记录
- /// </summary>
- /// <param name="source">来源</param>
- /// <param name="items">道具</param>
- public void RecordGetItems(string source, List<ItemInfo> items)
- {
- Dictionary<string, object> properties = new Dictionary<string, object>();
- foreach (ItemInfo itemInfo in items)
- {
- int id = itemInfo.itemID;
- long count = itemInfo.count.Value;
- properties.Add(id.ToString(), count);
- }
-
- ProcessSource(properties, source);
- // properties.Add("#source", source);
-
- CustomEvent("#get_items", properties);
- Source = "";
- }
-
- /// <summary>
- /// 获取道具记录
- /// </summary>
- /// <param name="source"></param>
- /// <param name="itemInfo"></param>
- public void RecordGetItems(string source, ItemInfo itemInfo)
- {
- Dictionary<string, object> properties = new Dictionary<string, object>();
- int id = itemInfo.itemID;
- long count = itemInfo.count.Value;
- properties.Add(id.ToString(), count);
-
- // properties.Add("#source", source);
- ProcessSource(properties, source);
-
- CustomEvent("#get_items", properties);
- }
- /// <summary>
- /// 消耗道具记录
- /// </summary>
- /// <param name="source"></param>
- /// <param name="items"></param>
- public void RecordCostItems(string source, List<ItemInfo> items)
- {
- Dictionary<string, object> properties = new Dictionary<string, object>();
- // properties.Add("#source", source);
- ProcessSource(properties, source);
-
- foreach (ItemInfo itemInfo in items)
- {
- int id = itemInfo.itemID;
- long count = itemInfo.count.Value;
- properties.Add(id.ToString(), count);
- }
-
- CustomEvent("#cost_items", properties);
-
- }
-
- /// <summary>
- /// 消耗道具记录
- /// </summary>
- /// <param name="source"></param>
- /// <param name="itemInfo"></param>
- public void RecordCostItems(string source, ItemInfo itemInfo)
- {
- Dictionary<string, object> properties = new Dictionary<string, object>();
- // properties.Add("#source", source);
- ProcessSource(properties, source);
- int id = itemInfo.itemID;
- long count = itemInfo.count.Value;
- properties.Add(id.ToString(), count);
-
- CustomEvent("#cost_items", properties);
-
- }
-
- }
|