• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: 宏定义  

资源简介

Unity编辑器语言开发的,拖入项目Assest目录下,点击Unity编辑器上方栏的“我的拓展编辑器”即可打开使用。项目展示写了一个博客:https://blog.csdn.net/qq_37835111/article/details/86083860 欢迎大家讨论

资源截图

代码片段和文件信息

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
using System;
using System.Linq;
using System.Text;

namespace MyHong
{
    public class Hong : EditorWindow
    {
        private AllDefine allDefine;
        private AllChannel allChannel;

        private bool isEditing = false;

        private string[] currentArrCurrentPresetStr = new string[] { };//设置模式下绘制预设所用
        private int currentChooseIndex;//设置模式下绘制预设所用
        private Channel currentChannel;//设置模式下的暂时变量,因为应用过后才改变txt,所以定义一个暂时变量
        private Vector2 currentScrollPosition = Vector2.zero;//当前滚轴的位置,绘制宏列表所用


        private AllChannel tempAllChannel;//编辑模式下的temp
        private string tempNotice = ““;//编辑模式下添加或者移除的 警告
        private string tempInputName;//编辑模式下输入的名称
        private Channel tempChannel;//编辑模式下的temp预设
        private string[] tempArrCurrentPresetStr = new string[] { };//编辑模式下temp
        private int tempCurrentChooseIndex;//编辑模式下的temp


        [MenuItem(“我的扩展工具/我的宏定义管理器“)]
        private static void MenuInit()
        {
            //展示窗口
            Hong window = EditorWindow.GetWindow(“宏定义管理器“);
            window.minSize = new Vector2(500 500);
        }

        void OnEnable()
        {
            //读取Json格式的配置表
            TextAsset defineTextAsset = Resources.Load(“Define“);
            TextAsset presetTextAsset = Resources.Load(“Channel“);
            try
            {
                allDefine = JsonUtility.FromJson(defineTextAsset.text) ?? new AllDefine();
            }
            catch (Exception)
            {
                allDefine = new AllDefine();
            }
            try
            {
                allChannel = JsonUtility.FromJson(presetTextAsset.text) ?? new AllChannel();
            }
            catch (Exception)
            {
                allChannel = new AllChannel();
            }
            currentArrCurrentPresetStr = new string[allChannel.lisChannel.Count];
            for (int i = 0; i < allChannel.lisChannel.Count; i++)
            {
                currentArrCurrentPresetStr[i] = allChannel.lisChannel[i].channelName;
            }

            currentChooseIndex = allChannel.currentChooseIndex;
            currentChannel = allChannel.lisChannel.Count > currentChooseIndex ? allChannel.lisChannel[currentChooseIndex] : null;


            //allDefine.lisDefine.Add(new Define() { name = “TEST1“ describe = “Test1Describe“ });
            //allDefine.lisDefine.Add(new Define() { name = “TEST2“ describe = “Test2Describe“ });
            //allDefine.lisDefine.Add(new Define() { name = “TEST3“ describe = “Test3Describe“ });
            //allDefine.lisDefine.Add(new Define() { name = “TEST4“ describe = “Test4Describe“ });
            //allDefine.lisDefine.Add(new Define() { name = “TEST5“ describe = “Test5Describe“ });

            //s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-05 16:35  hong\
     目录           0  2019-01-07 17:46  hong\Editor\
     文件       24872  2019-01-07 17:46  hong\Editor\Hong.cs
     文件         284  2019-01-05 16:32  hong\Editor\Hong.cs.meta
     文件         213  2019-01-05 16:35  hong\Editor.meta
     目录           0  2019-01-07 17:35  hong\Resources\
     文件         284  2019-01-08 16:25  hong\Resources\Channel.json
     文件         199  2019-01-07 14:43  hong\Resources\Channel.json.meta
     文件         503  2019-01-07 14:43  hong\Resources\Define.json
     文件         199  2019-01-07 14:43  hong\Resources\Define.json.meta
     文件         213  2019-01-05 16:35  hong\Resources.meta

评论

共有 条评论