Beispiel #1
0
        /// <summary>
        /// 指定された TMPRule を持つオブジェクトに設定を反映します
        /// </summary>
        public static void Apply(TMPRuleSettings settings, TMPRule rule)
        {
            var ruleName = rule.RuleName;

            if (ruleName == TMPRule.INVALID_RULE_NAME)
            {
                return;
            }

            var setting = Array.Find(settings.List, c => c.Name == ruleName);

            if (setting == null)
            {
                Debug.Log($"[TMPRule]「{ruleName}」に紐づく TMPRuleParam が見つかりませんでした");
                return;
            }

            var textMeshPro = rule.GetComponent <TMP_Text>();

            textMeshPro.font         = setting.FontAsset;
            textMeshPro.fontMaterial = setting.Material;
            textMeshPro.fontStyle    = setting.FontStyles;
            textMeshPro.color        = setting.Color;

            if (setting.IsApplyFontSize)
            {
                textMeshPro.fontSize = setting.FontSize;
            }

            Undo.RecordObject(textMeshPro, "Apply TMP Rule");
            EditorUtility.SetDirty(textMeshPro);
        }
Beispiel #2
0
        //==============================================================================
        // 関数
        //==============================================================================
        /// <summary>
        /// 有効になった時に呼び出されます
        /// </summary>
        private void OnEnable()
        {
            m_settings = TMPRuleEditorUtils.GetSettings();

            // 複数選択されている場合に、選択されている
            // すべてのオブジェクトのパラメータを更新するために targets を参照
            foreach (var n in targets.OfType <TMPRule>())
            {
                TMPRuleEditorUtils.Apply(m_settings, n);
            }
        }