internal int PluginRequestCharSetIndex(Guid CharSetId) { if (RequestCharSetIndex != null) { PluginCharSetIdEventArgs args = new PluginCharSetIdEventArgs { Id = CharSetId }; RequestCharSetIndex(this, args); return(args.Index); } return(-1); }
private void PluginManager_PluginRequestCharsetIndex(object sender, PluginCharSetIdEventArgs e) { var sets = csManager.CharSets; int idx = -1; if (sets.Sprites != null && sets.Sprites.Any(s => s.Id == e.Id)) { //Sprite index idx = 0; foreach (var item in sets.Sprites) { if (item.Id == e.Id) { e.Index = idx; return; } else { idx++; } } //error? idx = -1; } else if (sets.Tiles != null && sets.Tiles.Any(s => s.Id == e.Id)) { //Tile index idx = 0; foreach (var item in sets.Sprites) { if (item.Id == e.Id) { e.Index = idx; return; } else { idx += item.Data.Length; } } //error? idx = -1; } }