C# 脚本与Unity Visual Scripting 交互,第一步(使用C# 脚本触发Script Graph的事件)(Custom Scripting Event)
写在前面
感谢Unity 川哥的帮助,解决了单独调用GameObject的需求
首先 需要在Unity 中创建一个自定义事件脚本(注释非常重要)
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine; /// <summary>
/// UnitTitle 在Script Graph 中展示的名字
/// UnitCategory 在Script Graph 展示的目录层级
/// EventUnit<int> 泛型 int 是输出参数的类型
/// </summary>
[UnitTitle("TestEvent")]
[UnitCategory("Events\\MyEvents")]
public class TestEvent : EventUnit<int>
{
/// <summary>
/// 定义参数输出
/// </summary>
[DoNotSerialize]
public ValueOutput result { get; private set; }// The Event output data to return when
protected override bool register => true;
/// <summary>
/// 其实
/// </summary>
/// <param name="reference"></param>
/// <returns></returns>
public override EventHook GetHook(GraphReference reference)
{
// 特别声明 如果不传递 gameObject 则调用时 会调用所有 Script Graph 使用的事件
return new EventHook(nameof(TestEvent),reference.gameObject);
}
/// <summary>
/// 定义函数 展示输出事件
/// </summary>
protected override void Definition()
{
base.Definition();
// 设置输出的类型和显示的名字
result = ValueOutput<int>("output");
}
/// <summary>
/// 设置参数传入流中
/// </summary>
/// <param name="flow"></param>
/// <param name="data"></param>
protected override void AssignArguments(Flow flow, int data)
{
flow.SetValue(result, data);
} }
编写完成后记得保存代码,并且在项目设置中点击刷新一下Visual Scripting的Nodes

还记得在代码 写的目录和 名称吗
- Events\\MyEvents
- TestEvent


成功添加了这个节点 输出目前是一个int 类型

为了让大家看的清楚一点 我输出了

编写一个触发脚本

成功触发了,这时候我就可以愉快的将 Unity的连连看和自己写的逻辑联系在一起了

C# 脚本与Unity Visual Scripting 交互,第一步(使用C# 脚本触发Script Graph的事件)(Custom Scripting Event)的更多相关文章
- Unity Ruby's Adventure 第一步
官方游戏教程:https://learn.unity.com/project/ruby-s-2d-rpg?language=en 鲁比大冒险是一个2D游戏入门教程,涉及动画,特效,UI,瓦片地图,音效 ...
- Unity与IOS交互
Unity IOS交互 @By 广州小龙 QQ群:63438968 环境:Mac os 10.9.2 Unity 4.2.1f4 Xcode 5.0.2 Unity IOS的交互我写过一个教程 ...
- [Unity3D]Unity3D游戏开发之Unity与Android交互调用研究
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.在前一篇文章中,我们研究了Android平台上Unity3D的手势操作并在之前的基础 ...
- Unity3D游戏开发之Unity与Android交互调用研究
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.在前一篇文章中,我们研究了Android平台上Unity3D的手势操作并在之前的基础 ...
- unity与Android交互
unity打包成安卓工程中的JAVA代码 public class UnityPlayerActivity extends Activity { //Unity中调用此函数 public int Ma ...
- Unity与Android交互-Unity接入高德地图实现定位以及搜索周边的功能(使用Android Studio)详细操作
刚进公司给安排的任务就是Unity接入高德地图,算是踩了不少坑总算做出来了,抽点时间写个博客记录一下 废话不多说 先上效果图 获取定位并根据手机朝向显示周边信息 使用的Unity ...
- Unity与服务区交互数据
Unity与服务区交互数据 Unity可能在用的时候使用到登陆等需要与服务器交互数据.今天尝试使用了WWW类和WWWForm类来实现Get请求与Post请求. 1.WWW Unity圣典解释: WWW ...
- Unity与Android交互实现
主要参考了这篇文章: Unity与Android交互方案优化版 链接:https://www.jianshu.com/p/86b275da600e 自己的实现(unity获取内存和温度): andro ...
- 【Shell脚本编程系列】知识储备以及建立规范的脚本
前言 学习shell脚本编程需要的知识储备: vi/vim编辑器命令 vimrc设置要熟练 基础命令,100多个要熟练 基础和常用的网络服务命令要会:nfs . rsync. inotify . la ...
随机推荐
- python基础教程:定义类创建实例
类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 >>>class Person(object): #所有的类都是从object类继承 pass #pass ...
- jquery通过id和class取值
一.Jquery通过id获取Input文本框value值 二.Jquery通过id获取文本内容(1) 三.Jquery通过id获取文本内容(2) 四.Jquey通过class获取文本内容 (注:Jqu ...
- 迭代阈值收缩算法ISTA,背后的思想与具体推到过程
- Mysql数据库的默认引擎
InnoDB的优势在于提供了良好的事务处理.崩溃修复能力和并发控制.缺点是读写效率较差,占用的数据空间相对较大. ①InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制.如果需要对事务的完 ...
- jupyter 反向代理配置
抓了下包,看了一下WS连不上,参考这个,问题解决 location / { proxy_pass http://127.0.0.1:8813/; # JUPYTER_PORT 为 Jupyter 运行 ...
- 编程技巧│超实用 nginx 中常见的配置合集
目录 封禁 IP 仅开放内网 负载均衡 列出文件列表 路由转发 开启 gzip 压缩 解决跨域 资源防盗链 Keepalived 提高吞吐量 HTTP 强制跳转 HTTPS 封禁 IP 通过 deny ...
- 适合初学者的使用CNN的数字图像识别项目:Digit Recognizer with CNN for beginner
准备工作 数据集介绍 数据文件 train.csv 和 test.csv 包含从零到九的手绘数字的灰度图像. 每张图像高 28 像素,宽 28 像素,总共 784 像素.每个像素都有一个与之关联的像素 ...
- Odoo env.ref()函数
python env.ref()函数作用是获取xml id记录. 1 action = self.env.ref('base.res_company_action').read()[0] 2 acti ...
- MAUI Blazor 权限经验分享 (定位,使用相机)
入门文章 Blazor Hybrid / MAUI 简介和实战 https://www.cnblogs.com/densen2014/p/16240966.html 在 Mac 上开发 .NET MA ...
- 关于微信豆苹果(IOS)用户1比10充值方法
微信iOS端微信7.0.20版本之后就上线了微信豆功能,相比大家对微信豆已经不陌生了. 微信官方现在给出了微信豆的含义,微信豆是用于支付微信内虚拟物品的道具,支持在视频号中购买虚拟礼物.也可以对公 ...