csharp カスタム属性テスト

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp カスタム属性テスト相关的知识,希望对你有一定的参考价值。

using UnityEngine;

#if UNITY_EDITOR
using UnityEditor;
#endif

/// <summary>
/// カスタムAttributeテスト(以下の2クラスが最低限必要)
/// ・PropertyAttributeを継承したAttributeクラス
/// ・PropertyDrawerを継承したDrawerクラス
/// </summary>
public class Test : MonoBehaviour
{
    [SerializeField]
    Piyo piyo;
}

[System.Serializable]
public class Piyo
{
    [SerializeField, SliderTest(-1, 5)]
    int hp;
    [SerializeField]
    string label;
}

class SliderTestAttribute : PropertyAttribute
{
    public readonly int min;
    public readonly  int max;

    public SliderTestAttribute(int min, int max)
    {
        this.min = min;
        this.max = max;
    }
}


#if UNITY_EDITOR
[CustomPropertyDrawer(typeof(SliderTestAttribute))]
class Int2SliderDrawer : PropertyDrawer
{
    public override void OnGUI(Rect position, 
                               SerializedProperty property, GUIContent label)
    {
        SliderTestAttribute attr = (SliderTestAttribute)attribute;

        if (property.propertyType == SerializedPropertyType.Integer)
        {
            EditorGUI.IntSlider(position, property, attr.min, attr.max);
        }

    }
}
#endif

以上是关于csharp カスタム属性テスト的主要内容,如果未能解决你的问题,请参考以下文章

csharp カスタムイージング流用

csharp DOTweenカスタムイージング

php wordpressカスタム投稿タイプとカスタム分类の设定

html 的jQueryを使ったソートサンプル②(カスタムデータ属性利用)

javascript JSの配列カスタム

php カスタム投稿タイプ