public static IKBone ToIKBone(HumanBodyBones boneID) { if (_toIKBone.Count == 0) { for (IKBone b = 0; b < IKBone.LastBone; b++) { _toIKBone[QuickUtils.ParseEnum <HumanBodyBones>(b.ToString())] = b; } } return(_toIKBone[boneID]); }
public static HumanBodyBones ToHumanBodyBones(IKBone ikBone) { if (_toHumanBodyBones.Count == 0) { for (IKBone b = 0; b < IKBone.LastBone; b++) { _toHumanBodyBones.Add(QuickUtils.ParseEnum <HumanBodyBones>(b.ToString())); } } return(_toHumanBodyBones[(int)ikBone]); }
private static void Init() { _allJoints = QuickUtils.ParseEnum <QuickHumanBodyBones, TrackedJointBody>(); foreach (QuickHumanFingers f in QuickHumanTrait.GetHumanFingers()) { _allJoints.AddRange(QuickHumanTrait.GetBonesFromFinger(f, true)); _allJoints.AddRange(QuickHumanTrait.GetBonesFromFinger(f, false)); } foreach (TrackedJointBody j in QuickUtils.GetEnumValues <TrackedJointBody>()) { _toTrackedJointBody[QuickUtils.ParseEnum <QuickHumanBodyBones>(j.ToString())] = j; } }
public static T EnumPopup <T>(string label, T value) where T : struct { string[] values = QuickUtils.GetEnumValuesToString <T>().ToArray(); int selectedIndex = 0; for (int i = 0; i < values.Length; i++) { if (values[i] == value.ToString()) { selectedIndex = i; break; } } return(QuickUtils.ParseEnum <T>(values[EditorGUILayout.Popup(label, selectedIndex, values)])); }
private static Dictionary <QuickHumanFingers, List <QuickHumanBodyBones> > InitHumanFingers(bool isLeft) { Dictionary <QuickHumanFingers, List <QuickHumanBodyBones> > result = new Dictionary <QuickHumanFingers, List <QuickHumanBodyBones> >(); string prefix = isLeft ? "Left" : "Right"; string[] phalanges = { "Proximal", "Intermediate", "Distal", "Tip" }; foreach (QuickHumanFingers f in GetHumanFingers()) { result[f] = new List <QuickHumanBodyBones>(); foreach (string p in phalanges) { QuickHumanBodyBones fingerBone = QuickUtils.ParseEnum <QuickHumanBodyBones>(prefix + f.ToString() + p); result[f].Add(fingerBone); _fingerFromBone[fingerBone] = f; } } return(result); }
protected virtual void OnControllerUpdate( string id, int index, string handValue, bool hasOrientation, bool hasPosition, Quaternion orientation, Vector3 position, Vector3 linearAcceleration, Vector3 linearVelocity, WebXRControllerButton[] buttonValues, float[] axesValues) { object hValue = QuickUtils.ParseEnum(typeof(WebXRControllerHand), handValue.ToUpper()); if (hValue != null && (WebXRControllerHand)hValue == _controller.hand) { _buttonValues = buttonValues; _axesValues = axesValues; } }
private static object LoadNodeValue(Type valueType, XmlElement nodeField) { if (valueType == typeof(int)) { return(QuickUtils.ParseInt(nodeField.FirstChild.InnerText)); } else if (valueType == typeof(float)) { return(QuickUtils.ParseFloat(nodeField.FirstChild.InnerText)); } else if (valueType == typeof(string)) { return(nodeField.FirstChild.InnerText); } else if (valueType == typeof(bool)) { return(QuickUtils.ParseBool(nodeField.FirstChild.InnerText)); } else if (valueType.IsEnum) { return(QuickUtils.ParseEnum(valueType, nodeField.FirstChild.InnerText)); } else if (IsUnityFloatContainer(valueType)) { return(LoadUnityFloatContainer(valueType, nodeField)); } else if (valueType.IsSubclassOf(typeof(UnityEngine.Object))) { #if UNITY_EDITOR string guid = nodeField.FirstChild.InnerText; string assetPath = UnityEditor.AssetDatabase.GUIDToAssetPath(guid); return(UnityEditor.AssetDatabase.LoadAssetAtPath(assetPath, valueType)); #endif } //else if (valueType.IsClass) return Activator.CreateInstance(valueType); return(null); }
protected static void Init() { _typeList = QuickUtils.ParseEnum <QuickHumanBodyBones, Type>(QuickUtils.GetEnumValues <Type>()); }
public static T GetEnum <T>(string key, T defaultValue = default(T)) where T : struct { return(QuickUtils.ParseEnum <T>(GetString(key, defaultValue.ToString()))); }