private void SelectNewCurrentInfo(GameItemType itemType)
 {
     SelectedInfo = Items.Find(item => item.ItemType == itemType);
     if (SelectedInfo == null)
     {
         SelectedInfo = new DecoratorInfo();
     }
 }
        public void TryRegisterAudioDecoratorNode(Type type)
        {
            if (typeof(IAudioDecoratorNode).IsAssignableFrom(type) && !m_audioDecorators.Contains(new DecoratorInfo() { decoratorType = type }))
            {
                DecoratorInfo decorator = new DecoratorInfo();

                decorator.ctor = (Func<IAudioDecoratorNode>)type.CreateConstructorDelegate(typeof(Func<>).MakeGenericType(type));
                decorator.triggeredProperties = new HashSet<string>();

                foreach (AbstractAttributeField property in type.GetAttributeProperties())
                {
                    decorator.triggeredProperties.Add(property.Name);
                }

                m_audioDecorators.Add(decorator);
            }
        }