Ejemplo n.º 1
0
 /// <summary>
 /// Register provider of resolving item state and filling properties.
 /// </summary>
 /// <param name="provider">Provider to be registered.</param>
 public void RegisterItemPropertyProvider(IItemPropertyProvider provider)
 {
     if (!ItemPropertyProviders.Contains(provider))
     {
         ItemPropertyProviders.Add(provider);
         return;
     }
     throw new HoardException("Provider already registered");
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Fills properties for given Game Item.
        /// </summary>
        /// <param name="item">item to fetch properties for</param>
        /// <returns></returns>
        public async Task FetchItemProperties(GameItem item)
        {
            //find compatible provider
            IItemPropertyProvider pp = GetItemPropertyProvider(item);

            if (pp != null)
            {
                await pp.FetchGameItemProperties(item);
            }
            throw new HoardException("Fetch game item failed");
        }