コード例 #1
0
        protected virtual void OnEnable()
        {
            visibleInList = new VisibleInListArray();

            btnEnumInfo = EnumUtils.GetDisplayInfo(typeof(ControllerButton));

            addButtonContent = new GUIContent("Add Button Rig");
            rmButtonContent  = new GUIContent("Remove");

            scriptProp  = serializedObject.FindProperty("m_Script");
            entriesProp = serializedObject.FindProperty("m_rigEntries");
        }
コード例 #2
0
ファイル: SteamVRv2Module.cs プロジェクト: BipPip/MediSIM
            static ActionArray()
            {
                s_enumInfo = EnumUtils.GetDisplayInfo(typeof(T));
                Len        = s_enumInfo.maxValue - s_enumInfo.minValue + 1;

                var ints = new int[Len];

                for (int i = 0; i < Len; ++i)
                {
                    ints[i] = s_enumInfo.minValue + i;
                }

                s_enums = ints as T[];

                s_actionOrigins = new ulong[OpenVR.k_unMaxActionOriginCount];
            }
コード例 #3
0
        private static string GetDisplayName <TEnum>(EnumUtils.EnumDisplayInfo info, int i)
#if CSHARP_7_OR_LATER
            where TEnum : Enum
#endif
        {
            int displayIndex;

            if (info.value2displayedIndex.TryGetValue(i, out displayIndex))
            {
                return(info.displayedNames[displayIndex]);
            }
            else
            {
                return(EnumArrayBase <TEnum> .I2E(i).ToString());
            }
        }
コード例 #4
0
            public Info(Type roleEnumType)
            {
                m_info = EnumUtils.GetDisplayInfo(roleEnumType);

                var attrs = roleEnumType.GetCustomAttributes(typeof(ViveRoleEnumAttribute), false) as ViveRoleEnumAttribute[];

                m_invalidRoleValue = attrs[0].InvalidRoleValue;

                m_minValidRoleValue = int.MaxValue;
                m_maxValidRoleValue = int.MinValue;
                // find invalid role & valid role length
                for (int i = 0; i < m_info.displayedValues.Length; ++i)
                {
                    if (m_info.displayedValues[i] == m_invalidRoleValue)
                    {
                        m_invalidRoleValueIndex = i;
                        continue;
                    }

                    if (m_info.displayedValues[i] < m_minValidRoleValue)
                    {
                        m_minValidRoleValue = m_info.displayedValues[i];
                    }

                    if (m_info.displayedValues[i] > m_maxValidRoleValue)
                    {
                        m_maxValidRoleValue = m_info.displayedValues[i];
                    }
                }

                m_validRoleLength = m_maxValidRoleValue - m_minValidRoleValue + 1;

                // initialize role valid array, in case that the sequence of value of the enum type is not continuous
                m_roleValid = new bool[m_validRoleLength];
                for (int i = 0; i < m_info.displayedValues.Length; ++i)
                {
                    if (m_info.displayedValues[i] == m_invalidRoleValue)
                    {
                        continue;
                    }

                    m_roleValid[RoleValueToRoleOffset(m_info.displayedValues[i])] = true;
                }
            }