public static void Show(string domain) { Action <bool> action = delegate(bool hasInternet) { if (hasInternet) { Action <bool, string> loadConfigCallBack = delegate(bool success, string s) { if (success) { data = LoadUserData(); CheckCrosspromotionStatus(data, false); OpenWebview(domain); } else { errorAction.Invoke(Error.LoadConfig, s); } }; Coroutiner.StartCoroutine(LoadConfig(domain, loadConfigCallBack)); } else { errorAction.Invoke(Error.NoInternet, ""); } }; Coroutiner.StartCoroutine(Utils.CheckInternetConnection(action, domain)); }
public static void HasClaimedAllReward(string domain, Action <bool> callBack) { Action <bool, string> loadConfigCallBack = delegate(bool success, string s) { if (success) { data = LoadUserData(); List <CrossPromotionItemConfig> items = crossPromotionConfig.GetList(); bool flag = true; for (int i = 0; i < items.Count; i++) { if (!data.GetItem(items[i].id).isClaimed) { flag = false; break; } } callBack.Invoke(flag); } else { callBack.Invoke(true); errorAction.Invoke(Error.LoadConfig, s); } }; Coroutiner.StartCoroutine(LoadConfig(domain, loadConfigCallBack)); }
private static void Save(CrossPromotionData d) { if (d != null) { string text = JsonMapper.ToJson(d); BinaryFormatter bf = new BinaryFormatter(); FileStream stream = new FileStream(FilePath(), FileMode.Create); bf.Serialize(stream, text); stream.Close(); } }
static void CheckCrosspromotionStatus(CrossPromotionData data, bool isInit) { List <CrossPromotionItemConfig> items = crossPromotionConfig.GetList(); for (int i = 0; i < items.Count; i++) { CrossPromotionItemConfig item = items[i]; if (item.enable || isInit) { CheckCrosspromotionStatus(data, item, isInit); } } }
private static CrossPromotionData LoadUserData() { if (HasUserData()) { BinaryFormatter bf = new BinaryFormatter(); FileStream stream = new FileStream(FilePath(), FileMode.Open); string data = (string)bf.Deserialize(stream); stream.Close(); return(JsonMapper.ToObject <CrossPromotionData>(data)); } else { CrossPromotionData ret = new CrossPromotionData(); CheckCrosspromotionStatus(ret, true); Save(ret); return(ret); } }
static void CheckCrosspromotionStatus(CrossPromotionData data, CrossPromotionItemConfig item, bool isInit) { string id = Utils.GetValueFromUrl(item.GetLink(), "id"); if (Utils.checkPackageAppIsPresent(id)) { if (isInit) { data.GetItem(item.id).SetInvalid(); } else { if (data.GetItem(item.id).isValid) { data.GetItem(item.id).SetComplete(); } } } }