Unity3d C#实现编辑器不运行状态下执行的脚本

第一章方式:

函数前面 + [ContextMenu("Play")] ,Inspector面板右键调用

第二种方式:

OnValidate() ,值改变自动执行

cs 复制代码
using UnityEngine;
using System.Linq;

public class NightController : MonoBehaviour
{
    public float m_fEmissionInstensity = 0;
    public Material[] m_NightMats;

    // Start is called before the first frame update
    void OnValidate()
    {
        m_NightMats.ToList().ForEach(_ =>
        {
            _.SetFloat("_Emission_Intensity", m_fEmissionInstensity);
        });
    }


    [ContextMenu("Play")]
    void Play()
    {
        m_NightMats.ToList().ForEach(_ =>
        {
            _.SetFloat("_Emission_Intensity", m_fEmissionInstensity);
        });
    }
}
相关推荐
不吃香菜学java17 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
贵沫末17 小时前
python——打包自己的库并安装
开发语言·windows·python
文祐18 小时前
C++类之虚函数表及其内存布局(一个子类继承一个父类)
开发语言·c++
zuowei288918 小时前
华为网络设备配置文件备份与恢复(上传、下载、导出,导入)
开发语言·华为·php
xiaohe0718 小时前
超详细 Python 爬虫指南
开发语言·爬虫·python
嗑嗑嗑瓜子的猫19 小时前
Java!它值得!
java·开发语言
xiaoshuaishuai819 小时前
C# GPU算力与管理
开发语言·windows·c#
lsx20240619 小时前
SVN 创建版本库
开发语言
xiaotao13119 小时前
01-编程基础与数学基石:Python错误与异常处理
开发语言·人工智能·python
皮卡蛋炒饭.20 小时前
线程的概念和控制
java·开发语言·jvm