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); }
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); }