public void UpdateItem() { this.isModeOpen = (this.systemId == 0 || SystemOpenManager.IsSystemOn(this.systemId, out this.failedType, out this.failedValue)); if (this.isModeOpen) { this.UpdateTime(); } else { SystemOpenFailedType systemOpenFailedType = this.failedType; if (systemOpenFailedType != SystemOpenFailedType.LevelOpen) { if (systemOpenFailedType != SystemOpenFailedType.Task) { this.InfoText.set_text(string.Empty); } else { this.InfoText.set_text(GameDataUtils.GetChineseContent(513532, false)); } } else { this.InfoText.set_text(string.Format(GameDataUtils.GetChineseContent(513512, false), this.failedValue)); } } }
public static bool IsSystemOn(int systemId, out SystemOpenFailedType failedType, out int failedValue) { if (ClientGMManager.Instance.IsAlwaysOpen) { failedType = SystemOpenFailedType.None; failedValue = 0; return(true); } SystemOpen systemOpen = DataReader <SystemOpen> .Get(systemId); if (systemOpen != null && EntityWorld.Instance.EntSelf != null) { if (EntityWorld.Instance.EntSelf.Lv < systemOpen.level) { failedType = SystemOpenFailedType.LevelOpen; failedValue = systemOpen.level; return(false); } if (systemOpen.taskId > 0 && !MainTaskManager.Instance.IsFinishedTask(systemOpen.taskId)) { failedType = SystemOpenFailedType.Task; failedValue = systemOpen.taskId; return(false); } if (systemOpen.levelClose > 0 && EntityWorld.Instance.EntSelf.Lv > systemOpen.levelClose) { failedType = SystemOpenFailedType.LevelClose; failedValue = systemOpen.levelClose; return(false); } } failedType = SystemOpenFailedType.None; failedValue = 0; return(true); }