private void AddToRegistry(CastArgs arg) { var copy = Time.time; arg.Initialize(copy, this); if (registry.ContainsKey(arg.Id)) { registry[arg.Id].Add(arg); } else { registry.Add(arg.Id, new List <CastArgs>() { arg }); } }
public bool Remove(CastArgs args) { if (!registry.ContainsKey(args.Id)) { return(false); } var hashCode = args.GetHashCode(); var index = registry[args.Id].FindIndex(item => hashCode == item.GetHashCode()); registry[args.Id].RemoveAt(index); if (!registry[args.Id].Any()) { registry.Remove(args.Id); } Events.EmptyCall(InterfaceEvent.OnInfoRefresh); return(true); }
public void Add(CastArgs args) { AddToRegistry(args); Events.EmptyCall(InterfaceEvent.OnInfoRefresh); }