示例#1
0
    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
            });
        }
    }
示例#2
0
    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);
    }
示例#3
0
 public void Add(CastArgs args)
 {
     AddToRegistry(args);
     Events.EmptyCall(InterfaceEvent.OnInfoRefresh);
 }