public static bool Deserialize(GenericReader reader) { int version = reader.GetVersion(); switch (version) { case 0: { if (reader.ReadBool()) { if (DefaultEntries != null) { DefaultEntries.Deserialize(reader); } else { DefaultEntries = new ToolbarState(reader); } } reader.ReadBlockDictionary( r => { PlayerMobile k = r.ReadMobile <PlayerMobile>(); ToolbarState v = new ToolbarState(r); return(new KeyValuePair <PlayerMobile, ToolbarState>(k, v)); }, Profiles); } break; } return(true); }
public override bool ValidateState(ToolbarState state) { if (!base.ValidateState(state)) { return(false); } PlayerMobile user = state.User; if (MinAccess != null && user.AccessLevel < MinAccess) { return(false); } if (String.IsNullOrEmpty(base.Value)) { return(false); } CommandEntry cmd; if (!CommandSystem.Entries.TryGetValue(base.Value, out cmd)) { return(false); } if (cmd == null || cmd.AccessLevel > (MinAccess ?? user.AccessLevel)) { return(false); } return(true); }
public override bool ValidateState(ToolbarState state) { if (!base.ValidateState(state)) { return(false); } return(!String.IsNullOrWhiteSpace(base.Value)); }
public override void Invoke(ToolbarState state) { if (state == null || SpellID < 0 || SpellID >= SpellRegistry.Types.Length) { return; } var user = state.User; if (user != null && !user.Deleted && user.NetState != null) { EventSink.InvokeCastSpellRequest(new CastSpellRequestEventArgs(user, SpellID, null)); } }
public ToolbarGump(ToolbarState state, Color?headerColor = null, ToolbarTheme theme = ToolbarTheme.Default) : base(state.User, null, state.X, state.Y, null, null, DefaultToolbarTitle) { State = state; HeaderColor = headerColor ?? Color.DarkBlue; GlobalEdit = false; Theme = ToolbarThemes.GetTheme(theme); CanSearch = false; CanMove = false; CanDispose = false; CanClose = false; CanResize = false; }
static Toolbars() { EntryTypes = typeof(ToolbarEntry).GetConstructableChildren(); CMOptions = new ToolbarsOptions(); Profiles = new BinaryDataStore <PlayerMobile, ToolbarState>(VitaNexCore.SavesDirectory + "/Toolbars", "States") { Async = true, OnSerialize = Serialize, OnDeserialize = Deserialize }; DefaultEntries = new ToolbarState(null, CMOptions.DefaultWidth, CMOptions.DefaultHeight); }
public static ToolbarState EnsureState(PlayerMobile user) { if (user == null) { return(null); } ToolbarState state; if (!Profiles.TryGetValue(user, out state) || state == null) { Profiles[user] = state = new ToolbarState(user); } return(state); }
public override void Invoke(ToolbarState state) { if (state == null || SpellID < 0 || SpellID >= SpellRegistry.Types.Length) { return; } PlayerMobile user = state.User; if (user == null || user.Deleted || user.NetState == null) { return; } EventSink.InvokeCastSpellRequest(new CastSpellRequestEventArgs(user, SpellID, null)); }
public override void Invoke(ToolbarState state) { if (state == null) { return; } var user = state.User; if (user == null || user.Deleted || user.NetState == null) { return; } VitaNexCore.TryCatch( () => { if (!user.CanBeginAction(this)) { return; } switch (TextType) { case MessageType.Whisper: user.DoSpeech(FullValue, new int[0], TextType, user.WhisperHue); break; case MessageType.Yell: user.DoSpeech(FullValue, new int[0], TextType, user.YellHue); break; default: user.DoSpeech(FullValue, new int[0], TextType, user.SpeechHue); break; } user.BeginAction(this); Timer.DelayCall(SpamDelay, () => user.EndAction(this)); }, ex => { Console.WriteLine("{0} => {1} => ({2}) => {3}", user, GetType().Name, FullValue, ex); Toolbars.CMOptions.ToConsole(ex); }); }
public static ToolbarState EnsureState(PlayerMobile user) { if (Profiles.ContainsKey(user)) { if (Profiles[user] == null) { Profiles[user] = new ToolbarState(user); Profiles[user].SetDefaultEntries(); } } else { var state = new ToolbarState(user); state.SetDefaultEntries(); Profiles.Add(user, state); } return(Profiles[user]); }
public override void Invoke(ToolbarState state) { if (state == null) { return; } var user = state.User; if (user == null || user.Deleted || user.NetState == null) { return; } VitaNexCore.TryCatch( () => user.LaunchBrowser(FullValue), ex => { Console.WriteLine("{0} => {1} => ({2}) => {3}", user, GetType().Name, FullValue, ex); Toolbars.CMOptions.ToConsole(ex); }); }
public override void Invoke(ToolbarState state) { if (state == null) { return; } PlayerMobile user = state.User; if (user == null || user.Deleted || user.NetState == null) { return; } VitaNexCore.TryCatch( () => CommandSystem.Handle(user, FullValue), ex => { Console.WriteLine("{0} => {1} => ({2}) => {3}", user, GetType().Name, FullValue, ex); Toolbars.CMOptions.ToConsole(ex); }); }
public abstract void Invoke(ToolbarState state);
public virtual bool ValidateState(ToolbarState state) { return(state != null && state.User != null && !state.User.Deleted); }
public override bool ValidateState(ToolbarState state) { return(base.ValidateState(state) && !String.IsNullOrWhiteSpace(Value)); }
private static void ClearDefaults() { DefaultEntries = new ToolbarState(null, CMOptions.DefaultWidth, CMOptions.DefaultHeight); }