コード例 #1
0
ファイル: TMPRuleInspector.cs プロジェクト: baba-s/tmp-rule
        //==============================================================================
        // 関数
        //==============================================================================
        /// <summary>
        /// 有効になった時に呼び出されます
        /// </summary>
        private void OnEnable()
        {
            m_settings = TMPRuleEditorUtils.GetSettings();

            // 複数選択されている場合に、選択されている
            // すべてのオブジェクトのパラメータを更新するために targets を参照
            foreach (var n in targets.OfType <TMPRule>())
            {
                TMPRuleEditorUtils.Apply(m_settings, n);
            }
        }
コード例 #2
0
ファイル: TMPRuleInspector.cs プロジェクト: baba-s/tmp-rule
        /// <summary>
        /// GUI を表示する時に呼び出されます
        /// </summary>
        public override void OnInspectorGUI()
        {
            if (m_settings == null)
            {
                return;
            }

            var rule = target as TMPRule;

            if (rule == null)
            {
                return;
            }

            var list  = m_settings.List;
            var index = Array.FindIndex(list, c => c.Name == rule.RuleName) + 1;

            // プルダウンメニューの先頭に「無効」を追加
            var invalidOption = new[] { TMPRule.INVALID_RULE_NAME };
            var options       = invalidOption.Concat(list.Select(c => c.Comment)).ToArray();

            EditorGUI.BeginChangeCheck();

            index = EditorGUILayout.Popup("ルール名", index, options);

            if (!EditorGUI.EndChangeCheck())
            {
                return;
            }

            // 複数選択されている場合に、選択されている
            // すべてのオブジェクトのパラメータを更新するために targets を参照
            var ruleName = index == -1
                                        ? TMPRule.INVALID_RULE_NAME
                                        : list[index - 1].Name
            ;

            foreach (var n in targets.OfType <TMPRule>())
            {
                n.RuleName = ruleName;
                TMPRuleEditorUtils.Apply(m_settings, n);
            }
        }