private bool OnClickBuildIcon() { if (m_achorData == null) { return(false); } if (m_achorData.BuildStatus == 2) { if (IsChapterValid()) { FrameMgr.OpenUIParams param = new FrameMgr.OpenUIParams(UIDefine.UI_UNLOCK); param.Param = m_achorData.m_buidID; EngineCoreEvents.UIEvent.ShowUIEventWithParam.SafeInvoke(param); return(false); } else { GameEvents.ChapterEvents.OnChapterDownloadFinish += OnChapterDownloaded; FrameMgr.OpenUIParams uiParams = new FrameMgr.OpenUIParams(UIDefine.UI_ChapterMap); uiParams.Param = m_confBuilding.id; EngineCoreEvents.UIEvent.ShowUIEventWithParam.SafeInvoke(uiParams); return(false); } } else if (m_achorData.BuildStatus == 3) { if (m_confBuilding.unlockTask > 0) { GlobalInfo.MY_PLAYER_INFO.PlayerTaskSystem.IsCompleteTaskByConfigID(m_confBuilding.unlockTask, (bool taskComplete) => { if (!taskComplete) { string taskName = string.Empty; ConfTask confTask = ConfTask.Get(m_confBuilding.unlockTask); if (confTask != null) { taskName = LocalizeModule.Instance.GetString(confTask.name); } if (GlobalInfo.MY_PLAYER_INFO.Level < m_confBuilding.unlockLevel) { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("map_clock_level_mission", m_confBuilding.unlockLevel, taskName)); } else { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("group_unlock_tips", taskName)); } return; } }); } else { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("map_clock_level", m_confBuilding.unlockLevel)); } return(false); } return(true); }
public static void OnReponse(object obj, NormalTask taskInfo) { if (obj is SCCanTaskResponse) { SCCanTaskResponse res = (SCCanTaskResponse)obj; if (res.TaskId == taskInfo.TaskConfID) { if (res.CanTask) { GameEntryUILogic.S_CUR_EXCUTE_TASK_ID = res.TaskId; OnExcuteTask(taskInfo); } else { ConfTask confTask = ConfTask.Get(res.TaskId); if (confTask == null) { return; } if (confTask.building != null && confTask.building.Length > 0) { ConfBuilding building = ConfBuilding.Get(confTask.building[0]); if (building == null) { return; } PopUpManager.OpenNormalOnePop("task_unlock_tips", LocalizeModule.Instance.GetString(building.name)); } } } } }
/// <summary> /// 此主线任务是否能完成 /// </summary> private static void OnCheckMainTaskCanStart(NormalTask taskInfo) { ConfTask confTask = ConfTask.Get(taskInfo.TaskConfID); if (confTask == null) { return; } if (confTask.building != null && confTask.building.Length > 0) { ConfBuilding building = ConfBuilding.Get(confTask.building[0]); if (building == null) { return; } if (!GameEvents.BigWorld_Event.OnCheckBuildStatusByID(building.id)) { PopUpManager.OpenNormalOnePop("task_unlock_tips", LocalizeModule.Instance.GetString(building.name)); return; } } GameEntryUILogic.S_CUR_EXCUTE_TASK_ID = taskInfo.TaskConfID; OnExcuteTask(taskInfo); }
private static void ShowSceneInBigWorld(long task_config_id_) { var task = ConfTask.Get(task_config_id_); if (3 == task.type) { GameEvents.UIEvents.UI_GameEntry_Event.OnMaskBGVisible.SafeInvoke(false); if (task.sceneids.Length > 0) { List <long> all_scene_pre_ids = new List <long>(); foreach (var s_id in task.sceneids) { string pre_id_str = s_id.ToString().Substring(0, 5); long pre_id = long.Parse(pre_id_str); all_scene_pre_ids.Add(pre_id); } foreach (var id in all_scene_pre_ids) { GameEvents.BigWorld_Event.OpenBuildTopByHead5NumInSceneID.SafeInvoke(id); } } } }
public void SetTaskIntro(long taskId, bool status) { this.m_taskId = taskId; ConfTask confTaskData = ConfTask.Get(taskId); this.m_isTaskComplete.Checked = !status; this.m_TaskBgImg.Visible = status; this.m_lbTaskName.Text = LocalizeModule.Instance.GetString(confTaskData.name); this.m_lbTaskIntroContent.Text = LocalizeModule.Instance.GetString(confTaskData.descs); }
public void OnBuildClick() { //if (!SeekerGame.NewGuid.GuidNewManager.Instance.GetProgressByIndex(4)) //{ // return; //} //todo//////////////////////////临时注释 if (m_BuildID >= 4) { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("group_unlock_future_tips")); return; } if (status == 2) { FrameMgr.OpenUIParams param = new FrameMgr.OpenUIParams(UIDefine.UI_UNLOCK); param.Param = m_BuildID; EngineCoreEvents.UIEvent.ShowUIEventWithParam.SafeInvoke(param); } else if (status == 0) { if (m_confBuild.unlockTask > 0) { GlobalInfo.MY_PLAYER_INFO.PlayerTaskSystem.IsCompleteTaskByConfigID(m_confBuild.unlockTask, (bool taskComplete) => { if (!taskComplete) { string taskName = string.Empty; ConfTask confTask = ConfTask.Get(m_confBuild.unlockTask); if (confTask != null) { taskName = LocalizeModule.Instance.GetString(confTask.name); } if (GlobalInfo.MY_PLAYER_INFO.Level < m_confBuild.unlockLevel) { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("map_clock_level_mission", m_confBuild.unlockLevel, taskName)); } else { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("group_unlock_tips", taskName)); } return; } }); // bool taskComplete = true;//GlobalInfo.MY_PLAYER_INFO.PlayerTaskSystem.IsCompleteTaskByConfigID(m_confBuild.unlockTask); } else { PopUpManager.OpenNormalOnePop(LocalizeModule.Instance.GetString("map_clock_level", m_confBuild.unlockLevel)); } } }
public bool QueryTaskComplete(long task_id_) { ConfTask t = ConfTask.Get(task_id_); if ((int)EUNM_TASK_TYPE.E_MAIN == t.type) { return(AllCompleteTask.m_last_complete_main_task_id >= task_id_); } else { return(AllCompleteTask.m_last_complete_other_task_ids.Contains(task_id_)); } }
/// <summary> /// 创建任务实体 /// </summary> /// <param name="taskId"></param> /// <returns></returns> private NormalTask CreateNormalTaskInstance(long taskId) { ConfTask confTask = ConfTask.Get(taskId); if (confTask == null) { Debug.LogError($"create task error, no task config :{taskId}"); return(null); } List <TaskCreaterParams> taskTriggerConditionParams = ParseTaskTriggerConditions(confTask); List <TaskCreaterParams> taskCompleteConditionParams = ParseTaskCompleteConditions(confTask); List <TaskCreaterParams> taskRewardParams = ParseTaskRewardInfo(confTask); NormalTask task = TaskFactory.Instance.CreateTask <NormalTask>(confTask.id, taskTriggerConditionParams, taskCompleteConditionParams, taskRewardParams); task.TaskData = confTask; return(task); }
public TaskAnchor DeBranchTaskAnchor(long pool_task_id_) { string anchor_name = ConfTask.Get(pool_task_id_).anchor; if (occupied_branch_anchor_task_dict.ContainsKey(anchor_name)) { if (occupied_branch_anchor_task_dict[anchor_name] != pool_task_id_) { //有其它分支任务占了 return(null); } else { //我自己 return(all_branch_anchors_dict[anchor_name]); } } occupied_branch_anchor_task_dict.Add(anchor_name, pool_task_id_); return(all_branch_anchors_dict[anchor_name]); }
public override void OnShow(object param) { base.OnShow(param); GameEvents.UIEvents.UI_GameEntry_Event.OnMaskBGVisible.SafeInvoke(true); //GameEvents.UIEvents.UI_Common_Event.OnCommonUIVisible.SafeInvoke(false); BgHideAlpha(false); PanelTurnToOne(false); m_btn.AddClickCallBack(OnClicked); m_tips_btn.AddClickCallBack(OnClicked); m_close_btn.AddClickCallBack(OnCloseClicked); if (null != param) { var input_param = param as AcceptTaskParam; m_taskInfo = input_param.m_taskInfo; m_btn_act = input_param.m_close_act; m_isAcceptTask = input_param.isAcceptTask; } this.m_completeTaskTipsLabel.Visible = !m_isAcceptTask; this.m_tips_txt.Visible = m_isAcceptTask; if (m_isAcceptTask) { this.m_btnLable.Text = "Action !"; } else { this.m_btnLable.Text = "Complete !"; } ConfTask confTask = ConfTask.Get(this.m_taskInfo.TaskConfID); this.m_desc_txt.Text = LocalizeModule.Instance.GetString(confTask.descs); this.m_name_txt.Text = LocalizeModule.Instance.GetString(confTask.name); this.m_tips_txt.Text = LocalizeModule.Instance.GetString("activity_drop_taskdec_1"); List <RewardWrapper> task_rewards = new List <RewardWrapper>(); if (m_isAcceptTask) { task_rewards = GetAcceptTaskDropItem(confTask); } else { task_rewards = GetCompleteTaskDropItem(); } if (task_rewards.Count > 0) { m_reward_grid.EnsureSize <DropItemIcon>(task_rewards.Count); for (int i = 0; i < m_reward_grid.ChildCount; ++i) { var view = m_reward_grid.GetChild <DropItemIcon>(i); view.InitSprite(task_rewards[i].m_icon, task_rewards[i].m_num, task_rewards[i].m_id); view.Visible = true; } } else { m_reward_grid.Clear(); } List <iconAndName> conditions = new List <iconAndName>(); if (m_taskInfo.CompleteConditionList.Count > 0) { foreach (var complete_condition in m_taskInfo.CompleteConditionList) { if (complete_condition.GetType() == typeof(TaskCompleteItems)) { //收集物品 TaskCompleteItems collectDataInfo = complete_condition as TaskCompleteItems; List <ItemWrapper> collectItemList = collectDataInfo.TaskCompleteData; string collect_icon, collect_name; int collect_type; foreach (var collect in collectItemList) { GetIconAndName(collect.ItemID, out collect_icon, out collect_name, out collect_type); conditions.Add(new iconAndName() { m_icon = collect_icon, m_name = collect_name, m_type = collect_type, }); } } else if (complete_condition.GetType() == typeof(TaskCompleteByScan)) { //尸检 TaskCompleteByScan collectDataInfo = complete_condition as TaskCompleteByScan; long scan_id = (long)collectDataInfo.TaskCompleteData; var all_types_clues = ScanDataManager.Instance.Examin_clue_datas(scan_id); var all_clues = new HashSet <long>(); foreach (var kvp in all_types_clues) { all_clues.UnionWith(kvp.Value); } var scan_clues = from i in all_clues select new iconAndName() { m_icon = ConfFindClue.Get(i).icon, m_name = LocalizeModule.Instance.GetString(ConfFindClue.Get(i).name), }; foreach (var item in scan_clues) { conditions.Add(item); } } } } m_aim_grid.EnsureSize <AimItemView>(conditions.Count); for (int i = 0; i < m_aim_grid.ChildCount; ++i) { m_aim_grid.GetChild <AimItemView>(i).Refresh(conditions[i].m_icon, conditions[i].m_name); m_aim_grid.GetChild <AimItemView>(i).Visible = true; } if (m_isAcceptTask) { m_titleGet.Visible = false; ShowAcceptTaskTips(); ShowTaskTitle(confTask.rewardTitleId); } }
void TaskCreateSceneByDifficult(long tsk_id_) { long scene_id = FindObjSceneDataManager.LoadSceneIDForTask(tsk_id_); if (scene_id < 0) { long scene_difficult_id = FindObjSceneDataManager.GetSceneDifficultID(m_scene_group_id, m_group_data.m_lvl); long[] sceneid4random = ConfSceneDifficulty.Get(scene_difficult_id).sceneIds; int[] weights4random = ConfSceneDifficulty.Get(scene_difficult_id).sceneWeights; FindObjSceneData my_difficult_data = FindObjSceneDataManager.Instance.GetDataBySceneGroupID(m_scene_group_id); int?my_difficult_lvl = my_difficult_data?.m_lvl; int?my_difficult_exp = my_difficult_data?.m_exp; if ((1 == my_difficult_lvl || 0 == my_difficult_lvl) && 0 == my_difficult_exp) { //首次使用普通玩法 scene_id = sceneid4random[0]; } else { //二次随机 List <RateScene> scenes4rdm = new List <RateScene>(); for (int i = 0; i < sceneid4random.Length; ++i) { RateScene rs = new RateScene() { SceneID = sceneid4random[i], Rate = weights4random[i], }; scenes4rdm.Add(rs); } int idx = randomGetIdex(scenes4rdm); if (idx >= 0) { RateScene selected_scene = scenes4rdm[idx]; scene_id = selected_scene.SceneID; FindObjSceneDataManager.SaveSceneIDForTask(tsk_id_, scene_id); if (1 == ConfTask.Get(tsk_id_).type) { //主线任务,影响bulid top的场景id FindObjSceneDataManager.SaveSceneIDForBuildTop(FindObjSceneDataManager.ConvertSceneIdToSceneGroupId(scene_id), scene_id); } } } } if (scene_id > 0) { this.m_scene_id = scene_id; m_s_info = ConfScene.Get(m_scene_id); m_time_cost_value = m_s_info.secondGain; m_vit_cost_value = m_s_info.vitConsume; } else { m_s_info = null; m_time_cost_value = 0; m_vit_cost_value = 0; } }
public override void OnShow(object param) { base.OnShow(param); GameEvents.UIEvents.UI_GameEntry_Event.OnMaskBGVisible.SafeInvoke(true); GameEvents.UIEvents.UI_GameEntry_Event.OnInfiniteVit += OnInfiniteVit; MessageHandler.RegisterMessageHandler(MessageDefine.SCSceneEnterResponse, OnScResponse); this.m_action_btn.AddClickCallBack(OnBtnStartGameClick); this.m_exp_reward_icon.AddPressDownCallBack(OnSceneGroupGiftPressDown); this.m_exp_reward_icon.AddPressUpCallBack(OnSceneGroupGiftPressUp); EnterSceneData enterSceneData = null; m_scene_id = -1; m_scene_group_id = -1; m_enter_msg = null; if (null != param) { enterSceneData = param as EnterSceneData; //this.m_scene_id = (int)enterSceneData.SceneID; this.m_taskConfID = enterSceneData.taskConfID; } if (-1 == m_taskConfID) { //不是从任务展示界面来的,不用翻转 BgShowAlpha(false); PanelDelayShowAlpha(0.0f); PanelDelayShowScale(0.0f); PanelTurnToOne(false); PanelGoDown(true); } else { //需要翻转 BgShowAlpha(true); PanelDelayShowAlpha(0.2f); PanelDelayShowScale(0.5f); PanelGoDown(false); PanelTurnToZero(false); PanelTurnToOne(true); } ConfTask task = null; if (this.m_taskConfID < 0) { //build top 进入 this.m_scene_group_id = FindObjSceneDataManager.ConvertSceneIdToSceneGroupId(enterSceneData.SceneID); m_group_data = new FindObjSceneData(this.m_scene_group_id, 1, 0); BuildTopCreateSceneByDifficult(this.m_scene_group_id); } else { task = ConfTask.Get(m_taskConfID); long tsk_scene_id = null != task ? task.conditionSceneId : enterSceneData.SceneID; m_special_scene_id = 0; //初始化一个默认的group data; m_group_data = new FindObjSceneData(FindObjSceneDataManager.ConvertSceneIdToSceneGroupId(tsk_scene_id), 1, 0); this.m_scene_group_id = FindObjSceneDataManager.ConvertSceneIdToSceneGroupId(tsk_scene_id); var temp_data = FindObjSceneDataManager.Instance.GetDataBySceneGroupID(m_scene_group_id); if (null != temp_data) { m_group_data = temp_data; } if (tsk_scene_id > 99999) { //配置的场景id if (1 == ConfScene.Get(tsk_scene_id).keyExhibit) { //关键证据关卡 CreateSceneBySpecial(tsk_scene_id); } else { //非关键关卡 //读取难度表 TaskCreateSceneByDifficult(this.m_taskConfID); } } else { //配置的场景组id,一定是非关键线索关卡 TaskCreateSceneByDifficult(this.m_taskConfID); } } m_play_mode_img.Sprite = this.GetModeIconName(m_scene_id); m_scene_tex.TextureName = m_s_info.thumbnail; m_scene_name_label.Text = LocalizeModule.Instance.GetString(m_s_info.name); this.ShowOutPut(m_s_info.outputExp, m_s_info.outputMoney, m_s_info.outputCash, m_s_info.outputVit); List <long> ids = CommonHelper.GetDropOuts(m_s_info.dropId); var props = from id in ids select new DropWrapper() { DropType = ENUM_DROP_TYPE.PROP, ItemID = id, ItemNum = 0, Icon = ConfProp.Get(id).icon, }; List <DropWrapper> totalToShow = new List <DropWrapper>(); if (null != task && task.conditionExhibits.Length > 0) { var exhibits = from id in task.conditionExhibits select new DropWrapper() { DropType = ENUM_DROP_TYPE.EXHABIT, ItemID = id, ItemNum = 0, Icon = Confexhibit.Get(id).iconName, }; totalToShow.AddRange(exhibits); } //DropWrapper te = new DropWrapper() //{ // DropType = ENUM_DROP_TYPE.EXHABIT, // ItemID = 10972, // ItemNum = 0, // Icon = Confexhibit.Get(10972).iconName, //}; //totalToShow.Add(te); totalToShow.AddRange(props); m_drop_grid.EnsureSize <DropItemIconEffect>(totalToShow.Count); for (int i = 0; i < m_drop_grid.ChildCount; ++i) { var show = totalToShow[i]; DropItemIconEffect di = m_drop_grid.GetChild <DropItemIconEffect>(i); m_drop_grid.GetChild <DropItemIconEffect>(i).InitSprite(show.Icon, show.ItemNum, show.ItemID, ENUM_DROP_TYPE.EXHABIT == show.DropType); if (ENUM_DROP_TYPE.PROP == show.DropType) { m_drop_grid.GetChild <DropItemIconEffect>(i).EnableTips(true); m_drop_grid.GetChild <DropItemIconEffect>(i).InitToolTipOffset(new Vector2(-280.0f, 0.0f)); } else { m_drop_grid.GetChild <DropItemIconEffect>(i).EnableTips(false); } m_drop_grid.GetChild <DropItemIconEffect>(i).Visible = true; } m_drop_grid.Visible = false; long scene_difficult_id = FindObjSceneDataManager.GetSceneDifficultID(m_scene_group_id, m_group_data.m_lvl); ConfSceneDifficulty difficult_data = ConfSceneDifficulty.Get(scene_difficult_id); m_gifts = new List <GroupToolTipsData>(); for (int i = 0; i < difficult_data.rewards.Length; ++i) { GroupToolTipsData reward = new GroupToolTipsData() { ItemID = difficult_data.rewards[i], CurCount = difficult_data.rewardNums[i], }; m_gifts.Add(reward); } m_difficult_icon.Sprite = ConfPoliceRankIcon.Get(m_group_data.m_lvl).icon; m_difficlut_step.Text = LocalizeModule.Instance.GetString(difficult_data.name); m_exp_progress.Value = (float)m_group_data.m_exp / (float)m_group_data.m_full_exp; m_exp_txt.Text = $"{m_group_data.m_exp}/{m_group_data.m_full_exp}"; Debug.Log($"关卡进入 关卡组id{m_group_data.m_scene_group_id}"); m_cost_time_num_label.Text = CommonTools.SecondToStringMMSS(this.m_time_cost_value); SetVitLabel(); m_is_action_btn_touched = false; this.m_action_btn.Enable = true; Dictionary <UBSParamKeyName, object> _params = new Dictionary <UBSParamKeyName, object>() { { UBSParamKeyName.Success, 1 }, { UBSParamKeyName.SceneID, this.m_scene_id }, }; UserBehaviorStatisticsModules.Instance.LogEvent(UBSEventKeyName.game_start, null, _params); }
//private static void OnExcuteTask(NormalTask taskInfo) //{ // if (taskInfo.CompleteConditionList.Count <= 1) // { //目录没有组合条件 // TaskCompleteCondition taskCompleteCondition = taskInfo.CompleteConditionList[0]; // TaskCompleteAttribute taskCompleteAttribute = taskCompleteCondition.GetType().GetCustomAttributes(typeof(TaskCompleteAttribute), true)[0] as TaskCompleteAttribute; // switch (taskCompleteAttribute.CompleteMode) // { // case TaskCompleteMode.CompletedByDialog: // TalkUIHelper.OnStartTalk((long)taskCompleteCondition.TaskCompleteData); // break; // case TaskCompleteMode.CompletedBySceneID: // long sceneID = (long)taskCompleteCondition.TaskCompleteData; // ChapterInfo taskBelongChapterInfo = GetTaskBelongChapter(taskInfo.TaskConfID); // CommonHelper.OpenEnterGameSceneUI(sceneID, taskBelongChapterInfo, taskInfo.TaskConfID); // break; // //case TaskCompleteMode.CompletedByEvents: // // EventGameUIAssist.BeginEventGame((long)taskCompleteCondition.TaskCompleteData); // // break; // case TaskCompleteMode.CompletedByItem: // GameEvents.TaskEvents.OnShowCollectionTaskDetail.SafeInvoke(taskInfo, ShowSceneInBigWorld); // break; // case TaskCompleteMode.CompleteByReasonID: // ReasoningUILogic.ShowReasonUIById((long)taskCompleteCondition.TaskCompleteData); // break; // case TaskCompleteMode.CompleteByScanID: // long scanID = (long)taskCompleteCondition.TaskCompleteData; // ChapterInfo scanTaskBelongChapterInfo = GetTaskBelongChapter(taskInfo.TaskConfID); // CommonHelper.OpenEnterGameSceneUI(scanID, scanTaskBelongChapterInfo, taskInfo.TaskConfID); // break; // default: // break; // } // } // else // { // TaskCompleteCondition c_items = taskInfo.CompleteConditionList.Find((item) => item.GetType() == typeof(TaskCompleteItems)); // if (null != c_items) // { // TaskCompleteCondition c_scene = taskInfo.CompleteConditionList.Find((item) => item.GetType() == typeof(TaskCompleteByScene)); // Action<long> close_act = null; // if (null != c_scene) // { // close_act = (task_conf_id) => // { // long task_config_id = task_conf_id; // long sceneID = (long)c_scene.TaskCompleteData; // ChapterInfo taskBelongChapterInfo = GetTaskBelongChapter(taskInfo.TaskConfID); // CommonHelper.OpenEnterGameSceneUI(sceneID, taskBelongChapterInfo, taskInfo.TaskConfID); // }; // } // GameEvents.TaskEvents.OnShowCollectionTaskDetail.SafeInvoke(taskInfo, close_act); // } // } //} private static void OnExcuteTask(NormalTask taskInfo) { if (taskInfo.CompleteConditionList.Count <= 1) { //目录没有组合条件 TaskCompleteCondition taskCompleteCondition = taskInfo.CompleteConditionList[0]; TaskCompleteAttribute taskCompleteAttribute = taskCompleteCondition.GetType().GetCustomAttributes(typeof(TaskCompleteAttribute), true)[0] as TaskCompleteAttribute; switch (taskCompleteAttribute.CompleteMode) { case TaskCompleteMode.CompletedByDialog: { TalkUIHelper.OnStartTalk((long)taskCompleteCondition.TaskCompleteData); } break; case TaskCompleteMode.CompletedBySceneID: { Action <long> close_act = null; close_act = (task_conf_id) => { long sceneID = (long)taskCompleteCondition.TaskCompleteData; ChapterInfo taskBelongChapterInfo = GetTaskBelongChapter(taskInfo.TaskConfID); CommonHelper.OpenEnterGameSceneUI(sceneID, taskBelongChapterInfo, taskInfo.TaskConfID); }; GameEvents.TaskEvents.OnTryShowCollectionTaskDetail.SafeInvoke(taskInfo, close_act); } break; //case TaskCompleteMode.CompletedByEvents: // EventGameUIAssist.BeginEventGame((long)taskCompleteCondition.TaskCompleteData); // break; case TaskCompleteMode.CompletedByItem: { GameEvents.TaskEvents.OnTryShowCollectionTaskDetail.SafeInvoke(taskInfo, ShowSceneInBigWorld); } break; case TaskCompleteMode.CompleteByReasonID: { Action <long> close_act = null; close_act = (task_conf_id) => { ReasoningUILogic.ShowReasonUIById((long)taskCompleteCondition.TaskCompleteData); }; GameEvents.TaskEvents.OnTryShowCollectionTaskDetail.SafeInvoke(taskInfo, close_act); } break; case TaskCompleteMode.CompleteByCombinePropID: { Action <long> close_act = null; close_act = (task_conf_id) => { long[] ids = ConfTask.Get(task_conf_id).conditionPropExIds; if (ids.Length > 0) { FrameMgr.OpenUIParams uiParams = new FrameMgr.OpenUIParams(UIDefine.UI_COMBINE); uiParams.Param = ids[0]; EngineCoreEvents.UIEvent.ShowUIEventWithParam.SafeInvoke(uiParams); } else { EngineCoreEvents.UIEvent.ShowUIEvent.SafeInvoke(UIDefine.UI_COMBINE); } }; GameEvents.TaskEvents.OnTryShowCollectionTaskDetail.SafeInvoke(taskInfo, close_act); } break; case TaskCompleteMode.CompleteByScanID: { Action <long> close_act = null; close_act = (task_conf_id) => { long scanID = (long)taskCompleteCondition.TaskCompleteData; ChapterInfo scanTaskBelongChapterInfo = GetTaskBelongChapter(taskInfo.TaskConfID); CommonHelper.OpenEnterGameScanUI(scanID, scanTaskBelongChapterInfo, taskInfo.TaskConfID); }; GameEvents.TaskEvents.OnTryShowCollectionTaskDetail.SafeInvoke(taskInfo, close_act); } break; default: break; } } else { TaskCompleteCondition c_items = taskInfo.CompleteConditionList.Find((item) => item.GetType() == typeof(TaskCompleteItems)); if (null != c_items) { TaskCompleteCondition c_scene = taskInfo.CompleteConditionList.Find((item) => item.GetType() == typeof(TaskCompleteByScene)); Action <long> close_act = null; if (null != c_scene) { close_act = (task_conf_id) => { long task_config_id = task_conf_id; long sceneID = (long)c_scene.TaskCompleteData; ChapterInfo taskBelongChapterInfo = GetTaskBelongChapter(taskInfo.TaskConfID); CommonHelper.OpenEnterGameSceneUI(sceneID, taskBelongChapterInfo, taskInfo.TaskConfID); }; } GameEvents.TaskEvents.OnTryShowCollectionTaskDetail.SafeInvoke(taskInfo, close_act); } } }
private void OnCompletedTask(TaskBase task) { UnityEngine.Debug.Log("task complete === " + task.TaskConfID); AddCompleteTask(task.TaskConfID, ConfTask.Get(task.TaskConfID).type); GameEvents.BigWorld_Event.OnReflashBuidTask.SafeInvoke(); }