static void Create()
    {
        Object target = Selection.activeObject;

        if (target == null || target.GetType() != typeof(Texture2D))
        {
            return;
        }

        Texture2D sourceTex = target as Texture2D;
        //整体路径
        string filePathWithName = AssetDatabase.GetAssetPath(sourceTex);
        //带后缀的文件名
        string fileNameWithExtension = Path.GetFileName(filePathWithName);
        //不带后缀的文件名
        string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(filePathWithName);
        //不带文件名的路径
        string filePath = filePathWithName.Replace(fileNameWithExtension, "");

        GTextEmotionAssets asset = AssetDatabase.LoadAssetAtPath(filePath + fileNameWithoutExtension + "Assets.asset", typeof(GTextEmotionAssets)) as GTextEmotionAssets;

        if (asset == null)
        {
            asset             = ScriptableObject.CreateInstance <GTextEmotionAssets>();
            asset.MainTexture = sourceTex;
            int sysIconCount;
            asset.SetEmotionAssets(GetSpritesInfor(sourceTex, out sysIconCount));
            asset.SysEmojiCount = sysIconCount;

            AssetDatabase.CreateAsset(asset, filePath + fileNameWithoutExtension + "Assets.asset");
        }
    }
예제 #2
0
 public void Cleanup()
 {
     _EmotionAssets = null;
 }
예제 #3
0
 public static int EmojiIndex2EmojiID(int index)
 {
     return(GTextEmotionAssets.EmojiIndex2EmojiID(index));
 }
예제 #4
0
 public void OnEnable()
 {
     asset = (GTextEmotionAssets)target;
 }