private void SendDataChangeMsg(ChallengeUIGridMessage.ChallengeState challengeState) { ChallengeUIGridMessage msg = new ChallengeUIGridMessage(); msg.challengeID = ChallengeGridID.DoorOfBury; msg.state = challengeState; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, msg); }
public void ReceiveChallengeUIGridMessage(ChallengeUIGridMessage data) { if (MogoUIQueue.Instance.IsLocking) { return; } // Debug.LogError("ChallengeUIGridMessage: " + data.challengeID + " " + data.state.ToString()); if (!challengeUIGridMessageSource.ContainsKey(data.challengeID)) { challengeUIGridMessageSource.Add(data.challengeID, data); } else { challengeUIGridMessageSource[data.challengeID] = data; } if (challengeUIGridMessageSource.Count == ChallengeUIViewManager.GRIDNUM) { if (!syncLock) { syncLock = true; isDirty = false; List <ChallengeGridID> sortedResult = new List <ChallengeGridID>(); do { sortedResult = GetChallengeUIGridSortedResult(); } while (isDirty); for (int i = 0; i < sortedResult.Count; i++) { ChallengeUIViewManager.Instance.SetGridPos((int)(sortedResult[i]), i); } syncLock = false; } else { isDirty = true; } } }
protected void SetChallengeState() { ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.OccupyTower; if (theOwner.level < SystemRequestLevel.OCCPUYTOWER) { data.state = ChallengeUIGridMessage.ChallengeState.Lock; } else { if (OccupyTowerOpen) { data.state = ChallengeUIGridMessage.ChallengeState.LimitStarted; } else { data.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; } } EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); }
public void SetChallengeState() { ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.OgreMustDie; if (theOwner.level < SystemRequestLevel.OGREMUSTDIE) { data.state = ChallengeUIGridMessage.ChallengeState.Lock; } else { if (OgreMustDieOpen) data.state = ChallengeUIGridMessage.ChallengeState.LimitStarted; else data.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; } EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); }
private static void SendDataChangeMsg(ChallengeUIGridMessage.ChallengeState challengeState) { ChallengeUIGridMessage msg = new ChallengeUIGridMessage(); msg.challengeID = ChallengeGridID.DragonMatch; msg.state = challengeState; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, msg); }
public void ReceiveChallengeUIGridMessage(ChallengeUIGridMessage data) { if (MogoUIQueue.Instance.IsLocking) { return; } // Debug.LogError("ChallengeUIGridMessage: " + data.challengeID + " " + data.state.ToString()); if (!challengeUIGridMessageSource.ContainsKey(data.challengeID)) challengeUIGridMessageSource.Add(data.challengeID, data); else challengeUIGridMessageSource[data.challengeID] = data; if (challengeUIGridMessageSource.Count == ChallengeUIViewManager.GRIDNUM) { if (!syncLock) { syncLock = true; isDirty = false; List<ChallengeGridID> sortedResult = new List<ChallengeGridID>(); do { sortedResult = GetChallengeUIGridSortedResult(); } while (isDirty); for (int i = 0; i < sortedResult.Count; i++) ChallengeUIViewManager.Instance.SetGridPos((int)(sortedResult[i]), i); syncLock = false; } else { isDirty = true; } } }
public void RefreshUI(int index) { switch ((ChallengeGridID)index) { case ChallengeGridID.ClimbTower: { if (MogoWorld.thePlayer.level >= SystemRequestLevel.CILMBTOWER) { LoggerHelper.Debug("ClimbTowerUILogicManager:" + ClimbTowerUILogicManager.Instance.Data.FailCount); if (ChallengeUIViewManager.Instance!=null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.ClimbTower, false); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.ClimbTower, LanguageData.GetContent(26345,ClimbTowerUILogicManager.Instance.Data.FailCount)); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.ClimbTower, SystemUIColorManager.BROWN); } ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.ClimbTower; data.state = ChallengeUIGridMessage.ChallengeState.Open; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); } else { if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.ClimbTower, true); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.ClimbTower, string.Format("{0}级解锁", SystemRequestLevel.CILMBTOWER)); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.ClimbTower, SystemUIColorManager.RED); ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.ClimbTower; data.state = ChallengeUIGridMessage.ChallengeState.Lock; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); } } } break; case ChallengeGridID.DoorOfBury: break; case ChallengeGridID.Sanctuary: { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.Sanctuary, false); if (MogoWorld.thePlayer.level >= SystemRequestLevel.SANCTUARY) // 已解锁 { if (nextTimeSec == 0) // 可挑战:结束倒计时中 { ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.Sanctuary; data.state = ChallengeUIGridMessage.ChallengeState.LimitStarted; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); ChallengeUIViewManager.Instance.ShowEnterTipFX((int)ChallengeGridID.Sanctuary, true); ChallengeUIViewManager.Instance.AddTimer(2, endTime, (curTime) => { var span = new TimeSpan(curTime * TimeSpan.TicksPerSecond); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.BROWN); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, Convert.ToDateTime(span.ToString()). ToString(string.Format("mm{0}ss{1}{2}", LanguageData.GetContent(7102), LanguageData.GetContent(7103), LanguageData.GetContent(7135)))); }, () => { ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, LanguageData.GetContent(7136)); // 活动已结束 ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.BROWN); ChallengeUIViewManager.Instance.ShowEnterTipFX((int)ChallengeGridID.Sanctuary, false); ChallengeUIGridMessage data2 = new ChallengeUIGridMessage(); data2.challengeID = ChallengeGridID.Sanctuary; data2.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data2); EventDispatcher.TriggerEvent(Events.SanctuaryEvent.QuerySanctuaryInfo); }); } else // CD倒计时 { var span = new TimeSpan(nextTimeSec*TimeSpan.TicksPerSecond); var midTime = MogoTime.Instance.GetCurrentDateTime() + span; ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.RED); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, midTime. ToString(string.Format("{0}HH{1}mm{2}{3}", LanguageData.GetContent(7130), LanguageData.GetContent(7101), LanguageData.GetContent(7102), LanguageData.GetContent(7131)))); ChallengeUIViewManager.Instance.ShowEnterTipFX((int)ChallengeGridID.Sanctuary, false); ChallengeUIGridMessage data3 = new ChallengeUIGridMessage(); data3.challengeID = ChallengeGridID.Sanctuary; data3.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data3); } } else // 未解锁 { string SanctuaryNoOpen = LanguageData.GetContent(311); ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.Sanctuary, true); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, SanctuaryNoOpen); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.RED); ChallengeUIGridMessage data4 = new ChallengeUIGridMessage(); data4.challengeID = ChallengeGridID.Sanctuary; data4.state = ChallengeUIGridMessage.ChallengeState.Lock; EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data4); } } break; case ChallengeGridID.DragonMatch: { } break; case ChallengeGridID.OgreMustDie: { if (MogoWorld.thePlayer.level >= SystemRequestLevel.OGREMUSTDIE) { if (ChallengeUIViewManager.Instance != null) { // ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OgreMustDie, false); } } else { if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OgreMustDie, true); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.OgreMustDie, SystemUIColorManager.RED); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.OgreMustDie, string.Format("{0}级解锁", SystemRequestLevel.OGREMUSTDIE)); } } } break; case ChallengeGridID.OccupyTower: { if (MogoWorld.thePlayer.level >= SystemRequestLevel.OCCPUYTOWER) { if (ChallengeUIViewManager.Instance != null) { // ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OccupyTower, false); } } else { if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OccupyTower, true); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.OccupyTower, SystemUIColorManager.RED); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.OccupyTower, string.Format("{0}级解锁", SystemRequestLevel.OCCPUYTOWER)); } } } break; default: break; } }
public void RefreshUI(int index) { switch ((ChallengeGridID)index) { case ChallengeGridID.ClimbTower: { if (MogoWorld.thePlayer.level >= SystemRequestLevel.CILMBTOWER) { //Debug.Log("ClimbTowerUILogicManager:" + ClimbTowerUILogicManager.Instance.Data.FailCount); if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.ClimbTower, false); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.ClimbTower, LanguageData.GetContent(26345, ClimbTowerUILogicManager.Instance.Data.FailCount)); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.ClimbTower, SystemUIColorManager.BROWN); } ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.ClimbTower; data.state = ChallengeUIGridMessage.ChallengeState.Open; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); } else { if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.ClimbTower, true); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.ClimbTower, string.Format("{0}级解锁", SystemRequestLevel.CILMBTOWER)); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.ClimbTower, SystemUIColorManager.RED); ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.ClimbTower; data.state = ChallengeUIGridMessage.ChallengeState.Lock; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); } } } break; case ChallengeGridID.DoorOfBury: break; case ChallengeGridID.Sanctuary: { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.Sanctuary, false); if (MogoWorld.thePlayer.level >= SystemRequestLevel.SANCTUARY) // 已解锁 { if (nextTimeSec == 0) // 可挑战:结束倒计时中 { ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.Sanctuary; data.state = ChallengeUIGridMessage.ChallengeState.LimitStarted; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); ChallengeUIViewManager.Instance.ShowEnterTipFX((int)ChallengeGridID.Sanctuary, true); ChallengeUIViewManager.Instance.AddTimer(2, endTime, (curTime) => { var span = new TimeSpan(curTime * TimeSpan.TicksPerSecond); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.BROWN); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, Convert.ToDateTime(span.ToString()). ToString(string.Format("mm{0}ss{1}{2}", LanguageData.GetContent(7102), LanguageData.GetContent(7103), LanguageData.GetContent(7135)))); }, () => { ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, LanguageData.GetContent(7136)); // 活动已结束 ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.BROWN); ChallengeUIViewManager.Instance.ShowEnterTipFX((int)ChallengeGridID.Sanctuary, false); ChallengeUIGridMessage data2 = new ChallengeUIGridMessage(); data2.challengeID = ChallengeGridID.Sanctuary; data2.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data2); EventDispatcher.TriggerEvent(Events.SanctuaryEvent.QuerySanctuaryInfo); }); } else // CD倒计时 { var span = new TimeSpan(nextTimeSec * TimeSpan.TicksPerSecond); var midTime = MogoTime.Instance.GetCurrentDateTime() + span; ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.RED); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, midTime. ToString(string.Format("{0}HH{1}mm{2}{3}", LanguageData.GetContent(7130), LanguageData.GetContent(7101), LanguageData.GetContent(7102), LanguageData.GetContent(7131)))); ChallengeUIViewManager.Instance.ShowEnterTipFX((int)ChallengeGridID.Sanctuary, false); ChallengeUIGridMessage data3 = new ChallengeUIGridMessage(); data3.challengeID = ChallengeGridID.Sanctuary; data3.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data3); } } else // 未解锁 { string SanctuaryNoOpen = LanguageData.GetContent(311); ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.Sanctuary, true); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.Sanctuary, SanctuaryNoOpen); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.Sanctuary, SystemUIColorManager.RED); ChallengeUIGridMessage data4 = new ChallengeUIGridMessage(); data4.challengeID = ChallengeGridID.Sanctuary; data4.state = ChallengeUIGridMessage.ChallengeState.Lock; EventDispatcher.TriggerEvent <ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data4); } } break; case ChallengeGridID.DragonMatch: { } break; case ChallengeGridID.OgreMustDie: { if (MogoWorld.thePlayer.level >= SystemRequestLevel.OGREMUSTDIE) { if (ChallengeUIViewManager.Instance != null) { // ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OgreMustDie, false); } } else { if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OgreMustDie, true); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.OgreMustDie, SystemUIColorManager.RED); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.OgreMustDie, string.Format("{0}级解锁", SystemRequestLevel.OGREMUSTDIE)); } } } break; case ChallengeGridID.OccupyTower: { if (MogoWorld.thePlayer.level >= SystemRequestLevel.OCCPUYTOWER) { if (ChallengeUIViewManager.Instance != null) { // ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OccupyTower, false); } } else { if (ChallengeUIViewManager.Instance != null) { ChallengeUIViewManager.Instance.SetGray((int)ChallengeGridID.OccupyTower, true); ChallengeUIViewManager.Instance.SetChallengeTextColor((int)ChallengeGridID.OccupyTower, SystemUIColorManager.RED); ChallengeUIViewManager.Instance.SetChallengeText((int)ChallengeGridID.OccupyTower, string.Format("{0}级解锁", SystemRequestLevel.OCCPUYTOWER)); } } } break; default: break; } }
protected void SetChallengeState() { ChallengeUIGridMessage data = new ChallengeUIGridMessage(); data.challengeID = ChallengeGridID.OccupyTower; if (theOwner.level < SystemRequestLevel.OCCPUYTOWER) { data.state = ChallengeUIGridMessage.ChallengeState.Lock; } else { if (OccupyTowerOpen) data.state = ChallengeUIGridMessage.ChallengeState.LimitStarted; else data.state = ChallengeUIGridMessage.ChallengeState.LimitFinished; } EventDispatcher.TriggerEvent<ChallengeUIGridMessage>(Events.ChallengeUIEvent.ReceiveChallengeUIGridMessage, data); }