| | |
| | | public bool isDone { get { return state == State.Completed; } } //是否全部下载完成 |
| | | |
| | | //窗口中显示的已下载大小 |
| | | public long showDownLoadedSize { get { return DownloadMgr.Instance.DownloadedBytes - backGroundDownLoadSizeRecord; } } |
| | | public long showDownLoadedSize { get { return DownloadHotMgr.Instance.DownloadedBytes - backGroundDownLoadSizeRecord; } } |
| | | public long showTotalSize { get { return totalSize - backGroundDownLoadSizeRecord; } }//窗口中显示的总大小 |
| | | public int showTotalCount { get { return totalCount - downLoadedCountRecord; } }//窗口中显示的总数量 |
| | | public int showOkCount { get { return okCount - downLoadedCountRecord; } }//窗口中显示的下载完成数量 |
| | |
| | | } |
| | | } |
| | | |
| | | // TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } } |
| | | |
| | | public List<Reward> rewards = new List<Reward>(); |
| | | public bool hasReward { get; private set; }//是否有奖励 |
| | | public string completeDownLoadAccount |
| | |
| | | set { LocalSave.SetString("InGameDownLoadCompleteAccount", value); } |
| | | } |
| | | |
| | | // TODO YYL |
| | | // public Redpoint downLoadRedpoint = new Redpoint(116); |
| | | public Redpoint downLoadRedpoint = new Redpoint(116); |
| | | |
| | | private void Awake() |
| | | { |
| | | DownloadMgr.MaxDownLoadTask = GetMaxTask(); |
| | | DownloadHotMgr.MaxDownLoadTask = GetMaxTask(); |
| | | } |
| | | |
| | | private void LateUpdate() |
| | |
| | | //开始分配任务 |
| | | public void AssignTasks(List<AssetVersion> assets, Action _onDownLoadOk) |
| | | { |
| | | // TODO YYL |
| | | // this.inGameDownLoadAllow = false; |
| | | // this.assets = assets; |
| | | // this.assets.Sort(this.AssetDownLoadPriorCompare);//所有任务根据优先级排序 |
| | | // onDownLoadOk = _onDownLoadOk; |
| | | |
| | | this.inGameDownLoadAllow = false; |
| | | this.assets = assets; |
| | | this.assets.Sort(this.AssetDownLoadPriorCompare);//所有任务根据优先级排序 |
| | | onDownLoadOk = _onDownLoadOk; |
| | | |
| | | // totalCount = this.assets.Count; |
| | | // okCount = 0; |
| | | // totalSize = 0; |
| | | totalCount = this.assets.Count; |
| | | okCount = 0; |
| | | totalSize = 0; |
| | | |
| | | // DownloadMgr.Instance.Prepare(); |
| | | DownloadHotMgr.Instance.Prepare(); |
| | | |
| | | // for (int i = 0; i < this.assets.Count; i++) |
| | | // { |
| | | // var assetVersion = this.assets[i]; |
| | | // totalSize += assetVersion.size;//统计资源总大小 |
| | | // //统计地图专属的资源 |
| | | // var mapId = PriorBundleConfig.GetAssetBelongToMap(assetVersion.GetAssetCategory(), AssetVersionUtility.DecodeFileName(assetVersion.fileName)); |
| | | // if (mapId != 0) |
| | | // { |
| | | // if (!mapTasks.ContainsKey(mapId)) |
| | | // { |
| | | // mapTasks[mapId] = new List<AssetVersion>(); |
| | | // } |
| | | // mapTasks[mapId].Add(assetVersion); |
| | | // } |
| | | // //添加下载任务 |
| | | // var remoteURL = StringUtility.Contact(VersionUtility.Instance.versionInfo.GetResourcesURL(VersionConfig.Get().branch), Language.fixPath, "/", assetVersion.relativePath); |
| | | // var localURL = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, assetVersion.relativePath); |
| | | // DownloadMgr.Instance.AddTask(new DownloadTask(remoteURL, localURL, assetVersion)); |
| | | // } |
| | | for (int i = 0; i < this.assets.Count; i++) |
| | | { |
| | | var assetVersion = this.assets[i]; |
| | | totalSize += assetVersion.size;//统计资源总大小 |
| | | //统计地图专属的资源 TODO YYL |
| | | // var mapId = PriorBundleConfig.GetAssetBelongToMap(assetVersion.GetAssetCategory(), AssetVersionUtility.DecodeFileName(assetVersion.fileName)); |
| | | // if (mapId != 0) |
| | | // { |
| | | // if (!mapTasks.ContainsKey(mapId)) |
| | | // { |
| | | // mapTasks[mapId] = new List<AssetVersion>(); |
| | | // } |
| | | // mapTasks[mapId].Add(assetVersion); |
| | | // } |
| | | //添加下载任务 |
| | | var remoteURL = StringUtility.Contact(VersionUtility.Instance.versionInfo.GetResourcesURL(VersionConfig.Get().branch), Language.fixPath, "/", assetVersion.relativePath); |
| | | var localURL = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, assetVersion.relativePath); |
| | | DownloadHotMgr.Instance.AddTask(new DownloadHotTask(remoteURL, localURL, assetVersion)); |
| | | } |
| | | |
| | | // state = State.None; |
| | | state = State.None; |
| | | |
| | | // TaskModel.Event_MainlineTask -= OnMainTaskChange; |
| | | // TaskModel.Event_MainlineTask += OnMainTaskChange; |
| | | |
| | | // PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange; |
| | | // PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerLevelChange; |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange; |
| | | PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerLevelChange; |
| | | } |
| | | |
| | | //任务根据优先级排序 |
| | |
| | | var categoryA = lhs.GetAssetCategory(); |
| | | var categoryB = rhs.GetAssetCategory(); |
| | | |
| | | // TODO YYL |
| | | |
| | | // TODO YYL |
| | | // var priorA = PriorBundleConfig.GetAssetPrior(categoryA, AssetVersionUtility.DecodeFileName(lhs.fileName)); |
| | | // var priorB = PriorBundleConfig.GetAssetPrior(categoryB, AssetVersionUtility.DecodeFileName(rhs.fileName)); |
| | | |
| | |
| | | case Dominant.Half: |
| | | if (dominantState == Dominant.None) |
| | | { |
| | | backGroundDownLoadSizeRecord = DownloadMgr.Instance.DownloadedBytes; |
| | | backGroundDownLoadSizeRecord = DownloadHotMgr.Instance.DownloadedBytes; |
| | | downLoadedCountRecord = okCount; |
| | | } |
| | | StartDownLoad(); |
| | |
| | | case Dominant.Whole: |
| | | if (dominantState == Dominant.None) |
| | | { |
| | | backGroundDownLoadSizeRecord = DownloadMgr.Instance.DownloadedBytes; |
| | | backGroundDownLoadSizeRecord = DownloadHotMgr.Instance.DownloadedBytes; |
| | | downLoadedCountRecord = okCount; |
| | | Pause(); |
| | | state = State.Prepared; |
| | |
| | | state = State.Prepared; |
| | | } |
| | | dominantState = Dominant.Whole; |
| | | // TODO YYL |
| | | // UIManager.Instance.ShowWindow<InGameDownLoadWin>(); |
| | | // // WindowCenter.Instance.Open<InGameDownLoadWin>(); |
| | | // UIManager.Instance.OpenWindow<InGameDownLoadWin>(); |
| | | break; |
| | | } |
| | | } |
| | |
| | | if (state == State.None || state == State.Prepared || state == State.Pause) |
| | | { |
| | | state = State.DownLoad; |
| | | DownloadMgr.Instance.Begin(OnFileDownLoadCompleted); |
| | | DownloadHotMgr.Instance.Begin(OnFileDownLoadCompleted); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (state == State.DownLoad) |
| | | { |
| | | DownloadMgr.Instance.Stop(); |
| | | DownloadHotMgr.Instance.Stop(); |
| | | state = State.Pause; |
| | | } |
| | | } |
| | | |
| | | //文件下载完成回调 |
| | | private bool OnFileDownLoadCompleted(bool finished, DownloadTask task) |
| | | private bool OnFileDownLoadCompleted(bool finished, DownloadHotTask task) |
| | | { |
| | | if (task.IsDone && task.obj is AssetVersion) |
| | | { |
| | |
| | | //所有任务完成 |
| | | private void OnDownLoadFinished() |
| | | { |
| | | // TODO YYL |
| | | // TaskModel.Event_MainlineTask -= OnMainTaskChange; |
| | | // PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange; |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange; |
| | | |
| | | // WindowCenter.Instance.Close<InGameDownLoadWin>(); |
| | | UIManager.Instance.CloseWindow<InGameDownLoadWin>(); |
| | | |
| | | // if (!hasReward) |
| | | // { |
| | | // if (dominantState == Dominant.None) |
| | | // { |
| | | // RequestDownLoadReward(false); |
| | | // state = State.Completed; |
| | | // } |
| | | // else |
| | | // { |
| | | // completeDownLoadAccount = PlayerDatas.Instance.baseData.AccID; |
| | | // state = State.Award; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // state = State.Completed; |
| | | // } |
| | | if (!hasReward) |
| | | { |
| | | if (dominantState == Dominant.None) |
| | | { |
| | | RequestDownLoadReward(false); |
| | | state = State.Completed; |
| | | } |
| | | else |
| | | { |
| | | completeDownLoadAccount = PlayerDatas.Instance.baseData.AccID; |
| | | state = State.Award; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | state = State.Completed; |
| | | } |
| | | |
| | | |
| | | // downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None; |
| | | downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None; |
| | | |
| | | // if (onDownLoadOk != null) |
| | | // { |
| | | // onDownLoadOk(); |
| | | // onDownLoadOk = null; |
| | | // } |
| | | if (onDownLoadOk != null) |
| | | { |
| | | onDownLoadOk(); |
| | | onDownLoadOk = null; |
| | | } |
| | | } |
| | | |
| | | public void ParseRewardConfig() |
| | | { |
| | | // // TODO YYL |
| | | // var rewardString = FuncConfigConfig.Get("DownReward").Numerical1; |
| | | // var matches = Regex.Matches(rewardString, "(\\d+,\\d+,\\d+)"); |
| | | // for (int i = 0; i < matches.Count; i++) |
| | | // { |
| | | // rewards.Add(new Reward(matches[i].Value)); |
| | | // } |
| | | var rewardString = FuncConfigConfig.Get("DownReward").Numerical1; |
| | | var matches = Regex.Matches(rewardString, "(\\d+,\\d+,\\d+)"); |
| | | for (int i = 0; i < matches.Count; i++) |
| | | { |
| | | rewards.Add(new Reward(matches[i].Value)); |
| | | } |
| | | } |
| | | |
| | | // TODO YYL |
| | | // public void UpdateRewardInfo(HA319_tagMCPackDownloadRecord _package) |
| | | // { |
| | | // hasReward = _package.Record == 1; |
| | | public void UpdateRewardInfo(HA319_tagMCPackDownloadRecord _package) |
| | | { |
| | | hasReward = _package.Record == 1; |
| | | |
| | | // if (AssetVersionUtility.unPriorAssetDownLoadDone) |
| | | // { |
| | | // state = !hasReward && completeDownLoadAccount == PlayerDatas.Instance.baseData.AccID ? State.Award : State.Completed; |
| | | // } |
| | | if (AssetVersionUtility.unPriorAssetDownLoadDone) |
| | | { |
| | | state = !hasReward && completeDownLoadAccount == PlayerDatas.Instance.baseData.AccID ? State.Award : State.Completed; |
| | | } |
| | | |
| | | // downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None; |
| | | // } |
| | | downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None; |
| | | } |
| | | |
| | | public void RequestDownLoadReward(bool _manual) |
| | | { |
| | | // TODO YYL |
| | | // var send = new CA504_tagCMPlayerGetReward(); |
| | | // send.RewardType = 15; |
| | | // send.DataEx = (byte)(_manual ? 0 : 1); |
| | | // GameNetSystem.Instance.SendInfo(send); |
| | | var send = new CA504_tagCMPlayerGetReward(); |
| | | send.RewardType = 15; |
| | | send.DataEx = (byte)(_manual ? 0 : 1); |
| | | GameNetSystem.Instance.SendInfo(send); |
| | | } |
| | | |
| | | public float GetMapAssetDownLoadProgress(int mapId) |
| | |
| | | } |
| | | |
| | | |
| | | // TODO YYL |
| | | // if (!WindowCenter.Instance.IsOpen("MainInterfaceWin")) |
| | | // { |
| | | // return false; |
| | | // } |
| | | if (!UIManager.Instance.IsOpened<MainWin>()) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | // if (WindowCenter.Instance.ExistAnyFullScreenOrMaskWin()) |
| | | // { |
| | |
| | | } |
| | | } |
| | | |
| | | //主线任务任务状态变更和刷新 |
| | | private void OnMainTaskChange(int _taskId, int _state) |
| | | { |
| | | // TODO YYL |
| | | // var mainTaskId = taskModel.currentMission; |
| | | // if (GeneralDefine.inGameDownLoadTaskCheckPoints.Contains(mainTaskId) |
| | | // && taskModel.currentMissionState == 1) |
| | | // { |
| | | // if (CheckDominantDownLoad()) |
| | | // { |
| | | // TryDownLoad(Dominant.Whole); |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | //获取最大下载任务数 |
| | | public int GetMaxTask() |
| | | { |
| | | // TODO YYL |
| | | // if (!LoginWin.firstOpenEnd) |
| | | // return 20; |
| | | if (!LoginWin.firstOpenEnd) |
| | | return 20; |
| | | |
| | | if (downLoadGo) |
| | | return 20; |