Exemple #1
0
    private BaseCallback BuildCB(string relePath)
    {
        Utils.SB.Append(UnityUtil.StreamingAssetsPath);
        Utils.SB.Append(relePath);
        string path = Utils.SB.ToString();

        Utils.ClearSB();
        BaseCallback cb = new BaseCallback();

        cb.OnStart = () => {
            Action <byte[]> onSuccess = (bs) =>
            {
                //读取到stream中的bundle后存到persist中
                Utils.SB.Append(UnityUtil.PersistentPath);
                Utils.SB.Append(relePath);
                string bundlePath       = Utils.SB.ToString();
                string parentFolderPath = FileHelper.GetDirectorName(bundlePath);
                FileHelper.CreateFolder(parentFolderPath);
                //LogMgr.I("UpdateMgr", "BuildCB", "解压资源成功 原始路径:"+ path+" 目标路径:" + bundlePath+" 文件夹路径:"+ parentFolderPath, BeShowLog);
                FileHelper.WriteBytes2File_Create(bundlePath, bs);
                Utils.SB.Clear();
                cb.End();
            };
            Action <string> onFaile = (error) =>
            {
                LogMgr.E("UpdateMgr", "BuildCB", "解压资源 原始路径:" + path + "失败,解压中断", BeShowLog);
            };

            //LogMgr.I("UpdateMgr", "BuildCB", "开始解压资源:" + path, BeShowLog);
            FileHelper.GetIns().ReadBytesFromApkFile(path, onSuccess, onFaile);
        };

        return(cb);
    }
Exemple #2
0
        public IChatCommand GetCommandForCallback(Update update)
        {
            var          callbackData = BaseCallback.Deserialize <UnknownCallback>(update.CallbackQuery.Data);
            IChatCommand result       = commands.FirstOrDefault(x => x.CanHandle(callbackData));

            if (result != null)
            {
                result = (IChatCommand)serviceProvider.GetService(result.GetType());
            }

            logger.LogDebug("Command {result} for message callback {message}", result?.GetType(), update.CallbackQuery.Message.Text);

            return(result);
        }
Exemple #3
0
 private void OnOneActionCallback()
 {
     if (CallbackActionQue.Count > 0)
     {
         float progress = 1f - CallbackActionQue.Count / ActionNum;
         ProgressEvent?.Invoke(progress);
         BaseCallback cb = CallbackActionQue.Dequeue();
         cb.Start();
     }
     else
     {
         ProgressEvent?.Invoke(1f);
         End();
     }
 }
Exemple #4
0
    private BaseCallback LoadRole(PlayerInfoStruct roleInfo)
    {
        BaseCallback cb = new BaseCallback();

        cb.OnStart = () => {
            Listener <string> onloadOver = (id) =>
            {
                LogMgr.I("StageScnMgr", "LoadRole.cb.OnStart.onloadOver", " id:" + id, BeShowLog);
                cb.End();
            };

            TActor.Create(roleInfo, onloadOver);
        };

        return(cb);
    }
Exemple #5
0
    //开始执行
    public override void Start()
    {
        ActionNum = CallbackActionQue.Count;

        if (ActionNum > 0)
        {
            ProgressEvent?.Invoke(0f);
            BaseCallback cb = CallbackActionQue.Dequeue();
            cb.Start();
        }
        else
        {
            LogMgr.I("CallbackMgr", "Start", "ActionNum==0 直接执行CallbackMgr的End,检查是否添加过callback", true);
            ProgressEvent?.Invoke(1f);
            End();
        }
    }
Exemple #6
0
 //添加callback
 public void Add(BaseCallback action)
 {
     action.OnEnd = OnOneActionCallback;
     CallbackActionQue.Enqueue(action);
 }