示例#1
0
        public List <BaseResource> ListAll(int StateMask = 255, int AttrMask = 255)
        {
            List <BaseResource> List = new List <BaseResource>(60000);

            for (int i = 0; i < Count; i++)
            {
                BaseResource Item = Resources[i] as BaseResource;
                if ((((int)(Item.State)) & StateMask) > 0 && (((int)(Item.Attribute)) & AttrMask) > 0)
                {
                    List.Add((BaseResource)Item);
                }
            }
            return(List);
        }
示例#2
0
        public List <BaseResource> ListAlive()
        {
            List <BaseResource> List = new List <BaseResource>(60000);

            for (int i = 0; i < Count; i++)
            {
                //DictionaryEntry Entry =
                BaseResource Item = Resources[i] as BaseResource;
                if (Item.Attribute == ResourceAttribute.OK && Item.State == ResourceState.ALIVE)
                {
                    List.Add((BaseResource)Item);
                }
            }
            return(List);
        }
示例#3
0
        public BaseResource Get(string Key)
        {
            BaseResource res = null;

            lock (ResLock)
            {
                if (Resources.Contains(Key) == false)
                {
                    return(null);
                }

                res = Resources[Key] as BaseResource;
            }
            return(res);
        }
示例#4
0
        public bool Set(string Key, BaseResource _Item)
        {
            BaseResource Item = (BaseResource)_Item; lock (ResLock)

            {
                if (Resources.Contains(Key) == false)
                {
                    return(Add(Key, Item));
                }
                Resources[Key] = Item;
            }

            if (ResourceItemChanged != null && !BlockUpdate)
            {
                ResourceItemChanged(this, Key);
            }
            return(true);
        }
示例#5
0
        public bool Add(string Key, BaseResource _Item)
        {
            BaseResource Item = (BaseResource)_Item.Clone();

            Item.Key = Key;
            lock (ResLock)
            {
                if (Resources.Contains(Key) == true)
                {
                    Resources[Key] = Item;
                    return(true);
                }
                Resources.Add(Key, Item);
            }

            if (ResourceItemChanged != null && !BlockUpdate)
            {
                ResourceItemChanged(this, Key);
            }
            return(true);
        }
示例#6
0
 public void Add(BaseResource item)
 {
     this.Add(item.Key, item);
 }