IEnumerator GoToUpdateResource(UpdateInfo info, AssetCheckData data) { float size = (float)info.totalSize / 1024; if (size < 0.1) { size = 0.1f; } data.msg = "更新大小:" + size.ToString("0.0") + "kb"; int downLoadIdx = 0; foreach (KeyValuePair <string, string> pair in info.dict) { downLoadIdx++; data.value = (float)(downLoadIdx - 1) / (float)info.dict.Count; data.msg = "更新文件:" + downLoadIdx + "/" + info.dict.Count + ";总大小:" + size.ToString("0.0") + "kb"; //data.msg = "更新大小:" + size.ToString("0.0") + "M" ; UIManager.Intance.SendMsg(WindowID.AssetCheckUI, WindowMsgID.ShowLoadingTips, data); BeginDownload(pair.Value, pair.Key); while (!(IsDownOK(pair.Key))) { yield return(new WaitForEndOfFrame()); } } yield return(new WaitForEndOfFrame()); data.msg = "更新完成, 准备进入游戏"; data.value = 0f; Debug.Log("更新完成!!"); UIManager.Intance.SendMsg(WindowID.AssetCheckUI, WindowMsgID.ShowLoadingTips, data); EventsMgr.Instance().TriigerEvent("EndUpdate", null); }
/* * =============个人============= * add dimond = 增加砖石 * add coin = 增加金币 * add love = 增加魅力值 * add lv = (全部卡片)等级 * =============任务============= * add task id= 添加任务 * finish task id = 完成任务 * clear task 清除任务 * =============关卡============= * pass all level 通关所有地图 * reset all level 重置所有地图 * pass map id= * =============图鉴============= * unlock all monster 解锁所有怪物 * unlock all hero 解锁所有英雄 * =============军队============= * unlock hero id = 添加一个英雄到阵型中 * unlock monster id = 添加一个英雄到阵型中 * =============抽奖============= * draw id = 指定抽奖 * =============背包============= * add item id,count= 11;11 添加一个道具 * clear bag 清除背包 * =============背包============= * refresh id = //立即刷新商品 * remove id = //清除一次性商品,重新可以购买 * add taskitem id = //增加一个任务道具 * =============事件============= * show all event * =============活动============= * login day=2 //两天前登陆的 */ public static void Parse(string line) { if (line.StartsWith("add_")) { HandleUserInfo(line); } else if (line.Contains("task_")) { HandleTask(line); } else if (line.Contains("card_")) { HandleCard(line); } else if (line.Contains("level_")) { HandleLevel(line); } else if (line.Contains("item_")) { HandleBag(line); } else if (line.Contains("shop_")) { HandleShop(line); } else if (line.StartsWith("show all event")) { EventsMgr.Instance().ToString(); } else { CommonTip.Instance().ShowTip("<color=red>gm 执行错误</color>", TipType.PopTip); } }
void OnUpdateFailed(string file) { UnityTools.LogMust("更新失败!>" + file); AssetCheckData data = new AssetCheckData(); data.msg = "下次记得在有网络下的环境玩耍约!"; data.value = 0f; UIManager.Intance.SendMsg(WindowID.AssetCheckUI, WindowMsgID.ShowLoadingTips, data); EventsMgr.Instance().TriigerEvent("EndUpdate", null); }
/// <summary> /// 结束解压 /// </summary> void EndExtract(object msg) { EventsMgr.Instance().DetachEvent("EndExtract", EndExtract); DicDataManager.GetInstance().PreLoadCsvData(); //预加载全局表,为更新做准备 if (bOpenUpdate) { EventsMgr.Instance().AttachEvent("EndUpdate", EndUpdate); UnityTools.TryAddComponent <ResUpdate> (gameObject); } else { EndUpdate(null); } }
IEnumerator OnUpdateResource() { AssetCheckData data = new AssetCheckData(); string dataPath = PathTools.DataPath; //数据目录 url = PathTools.GetWebURL(); string random = DateTime.Now.ToString("yyyymmddhhmmss"); string listUrl = url + "files.txt?v=" + random; WWW www = new WWW(listUrl); yield return(www); if (www.error != null) { OnUpdateFailed(string.Empty); yield break; } else { if (!Directory.Exists(dataPath)) { Directory.CreateDirectory(dataPath); } File.WriteAllBytes(dataPath + "files.txt", www.bytes); string filesText = www.text; UpdateInfo info = GetUpdateInfo(filesText); if (info.totalSize > 0) { CachUpdateInfo = info; CachCheckData = data; StartCoroutine(GoToUpdateResource(CachUpdateInfo, CachCheckData)); /* * float size = (float)info.totalSize / 1024; * UIManager.Intance.ShowMessageBox(string.Format("更新大小: {0} kb", size.ToString("0.0")), MessageBoxType.OK_Cancle, OnSureUpdateClick); * yield break;*/ } else { EventsMgr.Instance().TriigerEvent("EndUpdate", null); } } }
//const string End_Key = "EndExtract2"; void Awake() { UIManager.Intance.ShowWindow(WindowID.AssetCheckUI); if (GameManager.Instance.bClearOldExtract) { if (Directory.Exists(PathTools.DataPath)) { Directory.Delete(PathTools.DataPath, true); } } //客户端存在并已经解压过了 if (Util.HasExtracted()) { EventsMgr.Instance().TriigerEvent("EndExtract", null); } else { StartCoroutine(OnExtractResource()); } }
/// <summary> /// 结束更新 /// </summary> void EndUpdate(object msg) { EventsMgr.Instance().DetachEvent("EndUpdate", EndUpdate); ResExtract compExtract = GetComponent <ResExtract> (); if (compExtract != null) { Destroy(compExtract); } ResUpdate compUpdate = GetComponent <ResUpdate> (); if (compUpdate != null) { Destroy(compUpdate); } if (!IsInitgame) { IsInitgame = true; InitGame(); } }
/// <summary> /// 处理客户端的设置 /// </summary> void HandleSetting() { if (bOpenFPS) { FPSCounter = UnityTools.TryAddComponent <FPS> (gameObject); } if (bClearStore) { //StoryManager.Instance ().ClearStory (); } if (bOpenExtract) { EventsMgr.Instance().AttachEvent("EndExtract", EndExtract); UnityTools.TryAddComponent <ResExtract> (gameObject); //UnityTools.LogMust (PathTools.DataPath); } else { EndExtract(null); } }
/// <summary> /// 处理结束解压 /// </summary> void HandleEndExtract() { EventsMgr.Instance().TriigerEvent("EndExtract", null); }
/// <summary> /// 事件的处理函数 /// </summary> /// <param name="go"></param> protected virtual void EventHandle(object go) { m_IsEventTrigger = true; EventsMgr.Instance().DetachEvent(m_EventType, EventHandle); }
public EventCondition(EventsType type) { m_EventType = type; m_IsEventTrigger = false; EventsMgr.Instance().AttachEvent(type, EventHandle); }