//填充cell skillInfo数据 private void FillCatalogCell(EraBookCellDataModel data, EraBookSkillInfo info) { var eraInfo = EraManager.Instance.GetEraInfo(data.EraId); data.State = (int)eraInfo.State; data.HaveTakeAward = eraInfo.TakeAward; data.ChapterName = eraInfo.Order.ToString(); var skilId = GetSkillIdByEraId(data.EraId); info.SkillId = skilId; info.State = (int)eraInfo.State; info.EraId = data.EraId; var strAtlas = GetAtlasBySkillId(skilId, data.EraId); if (string.IsNullOrEmpty(strAtlas)) { Logger.Debug("Get Atlas is Null"); return; } info.Atlas = strAtlas; if (eraInfo.State == EraState.NotStart || eraInfo.State == EraState.OnGoing || eraInfo.State == EraState.PlayAnim) { info.Atlas += "Grey"; } }
private IEnumerator PlayAnimEnd(EraBookCellDataModel data, EraInfo info, float time) { yield return(new WaitForSeconds(time)); info.State = EraState.PlayAnimEnd; info.State = EraState.Finish; data.State = (int)EraState.Finish; var skillId = GetSkillIdByEraId(info.Record.Id); var skillInfo = GetSkillInfoBySkillId(skillId); if (skillInfo != null) { FillCatalogCell(data, skillInfo); } if (tempEraId == info.Record.Id) { SetCurrEraCell(info.Record.Id); } }
public EraBookController() { CleanUp(); EventDispatcher.Instance.AddEventListener(Event_UpdateEraPage.EVENT_TYPE, OnUpdateEraPage); EventDispatcher.Instance.AddEventListener(Event_EraCellClick.EVENT_TYPE, OnClick_EraCell); EventDispatcher.Instance.AddEventListener(Event_CalalogClick.EVENT_TYPE, OnClick_EraCatalog); EventDispatcher.Instance.AddEventListener(Event_EraBookOperate.EVENT_TYPE, OnClick_EraBookOperator); EventDispatcher.Instance.AddEventListener(Event_UpdateMissionData.EVENT_TYPE, OnMissionUpdate); EventDispatcher.Instance.AddEventListener(ExDataInitEvent.EVENT_TYPE, OnExDataInitEvent); EventDispatcher.Instance.AddEventListener(FlagInitEvent.EVENT_TYPE, OnFlagInit); EventDispatcher.Instance.AddEventListener(OnClick_EraGotoEvent.EVENT_TYPE, OnClick_EraGoto); EventDispatcher.Instance.AddEventListener(EraSelectCurrEra.EVENT_TYPE, EraSelectCurrEraCallBack); EventDispatcher.Instance.AddEventListener(GoToEraBookShiShiEvent.EVENT_TYPE, OnGoToEraBookShiShiEvent); EventDispatcher.Instance.AddEventListener(UpdateBranchMissionDataEvent.EVENT_TYPE, OnUpdateBranchMissionDataEvent); EventDispatcher.Instance.AddEventListener(EraBookFlyOverEvent.EVENT_TYPE, OnEraBookFly); EventDispatcher.Instance.AddEventListener(Event_EraBookNextPage.EVENT_TYPE, OnEvent_EraBookNextPage); //EventDispatcher.Instance.AddEventListener(FlagUpdateEvent.EVENT_TYPE, OnFlagUpgradeEvent); EventDispatcher.Instance.AddEventListener(Event_EraChangeCurrentPage.EVENT_TYPE, ievent => { DataModel.SkillInfo.ShowTitleTips = false; var e = ievent as Event_EraChangeCurrentPage; if (e == null) { return; } DataModel.CurrentPage = e.Page; var page = EraManager.Instance.UiPage2LogicPage(e.Page); var info = EraManager.Instance.GetPageInfo(page); if (info != null) { DataModel.SelectBookMark = info.eraList[0].Record.Type; if (info.Type == 0) { for (int i = 0; i < info.eraList.Count; i++) { var eraInfo = info.eraList[i]; EraBookCellDataModel animDataModel = DataModel.MayaList[i]; animDataModel.PlayAnim = false; if (eraInfo.State == EraState.PlayAnim) { animDataModel.PlayAnim = true; NetManager.Instance.StartCoroutine(PlayAnimEnd(animDataModel, eraInfo, 0.8f)); } } //while (enumorator.MoveNext()) //{ // var eraInfo = enumorator.Current; // if (eraInfo.State == EraState.PlayAnim) // { // EraBookCellDataModel animDataModel; // if (count >= 3) // { // animDataModel = DataModel.RightList[count - 3]; // } // else // { // animDataModel = DataModel.LeftList[count]; // } // animDataModel.PlayAnim = true; // NetManager.Instance.StartCoroutine(PlayAnimEnd(animDataModel, eraInfo, 1.5f)); // } // ++count; //} } else { var eraInfo = info.eraList[0]; if (eraInfo.State == EraState.PlayAnimEnd || eraInfo.State == EraState.PlayAnim) { EventDispatcher.Instance.DispatchEvent(new Event_EraPlayAnim(0)); EraManager.Instance.PlayAnimEraId = -1; NetManager.Instance.StartCoroutine(PlayContentAnimEnd(eraInfo, 0.8f)); } } } }); }