コード例 #1
0
 internal static System.Type GetDrawerTypeForType(System.Type type)
 {
     if (ScriptAttributeUtility.s_DrawerTypeForType == null)
     {
         ScriptAttributeUtility.BuildDrawerTypeForTypeDictionary();
     }
     ScriptAttributeUtility.DrawerKeySet drawerKeySet;
     ScriptAttributeUtility.s_DrawerTypeForType.TryGetValue(type, out drawerKeySet);
     if (drawerKeySet.drawer != null || !type.IsGenericType)
     {
         return(drawerKeySet.drawer);
     }
     ScriptAttributeUtility.s_DrawerTypeForType.TryGetValue(type.GetGenericTypeDefinition(), out drawerKeySet);
     return(drawerKeySet.drawer);
 }
コード例 #2
0
        internal static Type GetDrawerTypeForType(Type type)
        {
            if (ScriptAttributeUtility.s_DrawerTypeForType == null)
            {
                ScriptAttributeUtility.BuildDrawerTypeForTypeDictionary();
            }
            ScriptAttributeUtility.DrawerKeySet drawerKeySet;
            ScriptAttributeUtility.s_DrawerTypeForType.TryGetValue(type, out drawerKeySet);
            Type drawer;

            if (drawerKeySet.drawer != null)
            {
                drawer = drawerKeySet.drawer;
            }
            else
            {
                if (type.IsGenericType)
                {
                    ScriptAttributeUtility.s_DrawerTypeForType.TryGetValue(type.GetGenericTypeDefinition(), out drawerKeySet);
                }
                drawer = drawerKeySet.drawer;
            }
            return(drawer);
        }