Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 /*
  * =============个人=============
  * 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);
     }
 }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
 /// <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);
     }
 }
Esempio n. 5
0
    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);
            }
        }
    }
Esempio n. 6
0
 //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());
     }
 }
Esempio n. 7
0
    /// <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();
        }
    }
Esempio n. 8
0
 /// <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);
     }
 }
Esempio n. 9
0
 /// <summary>
 /// 处理结束解压
 /// </summary>
 void HandleEndExtract()
 {
     EventsMgr.Instance().TriigerEvent("EndExtract", null);
 }
Esempio n. 10
0
 /// <summary>
 /// 事件的处理函数
 /// </summary>
 /// <param name="go"></param>
 protected virtual void EventHandle(object go)
 {
     m_IsEventTrigger = true;
     EventsMgr.Instance().DetachEvent(m_EventType, EventHandle);
 }
Esempio n. 11
0
 public EventCondition(EventsType type)
 {
     m_EventType      = type;
     m_IsEventTrigger = false;
     EventsMgr.Instance().AttachEvent(type, EventHandle);
 }