/// <summary>
        /// Adds the referenced asset.
        /// </summary>
        /// <typeparam name="T">The prefab type.</typeparam>
        /// <param name="referenceType">Type of the reference.</param>
        /// <param name="prefab">The prefab.</param>
        protected void AddReferencedAsset <T>(Reference.ReferenceTypes referenceType, PrefabInfo prefab) where T : PrefabInfo
        {
            if (!this.ReferencedAssets.ContainsKey(prefab.gameObject.name))
            {
                bool exists = prefab.m_prefabInitialized ||
                              PrefabCollection <T> .FindLoaded(prefab.gameObject.name) != null;

                this.ReferencedAssets[prefab.gameObject.name] = new Reference(referenceType, prefab, exists);
            }
        }
 public static Boolean IsIndexable(this Reference.ReferenceTypes type)
 {
     return(type != Reference.ReferenceTypes.Function);
 }