private void PluginManager_PluginRequestCharSet(object sender, PluginRequestCharSetEventArgs e) { IEnumerable <CharSet> source = null; if (e.SetType == null) { source = csManager.CharSets.Sprites.Concat(csManager.CharSets.Tiles); } else if (e.SetType.Value == CharSetType.Sprite) { source = csManager.CharSets.Sprites; } else { source = csManager.CharSets.Tiles; } if (e.Id != null) { source = source.Where(cs => cs.Id == e.Id.Value); } if (!string.IsNullOrWhiteSpace(e.Name)) { source = source.Where(cs => cs.Name == e.Name); } if (e.SetType != null) { source = source.Where(cs => cs.SetType == e.SetType.Value); } e.FoundCharSets = source.ToArray(); }
internal CharSet[] PluginRequestCharSet(Guid?Id, string SetName, CharSetType?SetType) { if (RequestCharSet != null) { PluginRequestCharSetEventArgs e = new PluginRequestCharSetEventArgs { Id = Id, Name = SetName, SetType = SetType }; RequestCharSet(this, e); return(e.FoundCharSets); } return(null); }