private static GenericMap <TRole> GetInternalMap <TRole>() { var roleEnumType = typeof(TRole); if (GenericMap <TRole> .s_instance == null) { var validateResult = ViveRoleEnum.ValidateViveRoleEnum(roleEnumType); if (validateResult != ViveRoleEnumValidateResult.Valid) { Debug.LogWarning(roleEnumType.Name + " is not valid ViveRole type. " + validateResult); return(null); } new GenericMap <TRole>(); } return(GenericMap <TRole> .s_instance); }
private static Map GetInternalMap(Type roleType) { if (s_mapTable == null) { s_mapTable = new IndexedTable <Type, Map>(); } Map map; if (!s_mapTable.TryGetValue(roleType, out map)) { var validateResult = ViveRoleEnum.ValidateViveRoleEnum(roleType); if (validateResult != ViveRoleEnumValidateResult.Valid) { Debug.LogWarning(roleType.Name + " is not valid ViveRole type. " + validateResult); return(null); } map = new Map(roleType); s_mapTable.Add(roleType, map); } return(map); }