using System; using XMainClient.UI; using XMainClient.UI.UICommon; using XUtliPoolLib; namespace XMainClient { internal class XCommandDirectSys : XBaseCommand { private uint CachedOpenSystem; public override bool Execute() { base.publicModule(); return this._execute(this._cmd.param1, this._cmd.param2); } public override void OnFinish() { XSingleton.singleton.Exculsive = false; base.OnFinish(); } public bool _execute(string param1, string param2) { this.CachedOpenSystem = uint.Parse(param1); XPlayerAttributes xplayerAttributes = XSingleton.singleton.Player.Attributes as XPlayerAttributes; bool flag = xplayerAttributes.IsSystemOpened(this.CachedOpenSystem); bool result; if (flag) { result = true; } else { bool flag2 = !XSingleton.singleton.IsSysOpend(this.CachedOpenSystem); if (flag2) { result = false; } else { bool flag3 = this.CachedOpenSystem > 0u; if (flag3) { (XSingleton.singleton.Player.Attributes as XPlayerAttributes).ReallyOpenSystem(this.CachedOpenSystem); bool flag4 = DlgBase.singleton.IsVisible(); if (flag4) { DlgBase.singleton.OnSysChange((XSysDefine)this.CachedOpenSystem); XSingleton.singleton.RecalculateRedPointState((XSysDefine)this.CachedOpenSystem, true); } result = true; } else { result = false; } } } return result; } } }