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 ...
随机推荐
- Java创建TXT文件并写入 内容
public static void main(String[] args) { String filePath = "E:/" + "1.txt"; Stri ...
- PHP生成图形验证码
在建站过程中,很多时候都会需要用户验证验证码等操作,比如:注册.登录.发表评论.获取资源等等,一方面可以验证当前用户的行为是否是爬虫.机器人等情况,给网站数据统计产生影响:另一方面可以防止用户大量刷取 ...
- pytorch 基础内容
一些基础的操作: import torch as th a=th.rand(3,4) #随机数,维度为3,4的tensor b=th.rand(4)print(a)print(b) a+b tenso ...
- html字符超长后自动隐藏
style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"
- k8s+crio+podman搭建集群
前言 在传统的k8s集群中,我们都是使用docker engine做为底层的容器管理软件的,而docker engine因为不是k8s亲生的解决方案,所以实际使用中会有更多的分层.之前我们也讲过,k8 ...
- pyhon推荐的命名规范
类别 public Internal Modules(模块) low_with_under _low_with_under Packages(包) low_with_under Classes(类 ...
- 如何在CentOS上找出逐渐耗尽磁盘空间的目录和文件
起因 随着系统运行,CentOS空间不断减少,对此非常焦虑,到底磁盘空间被哪些新增文件占用了呢? 分析过程,主要使用du命令,逐层找出消耗空间的目录 1.在根目录下检索一下文件的占用情况,执行du命令 ...
- C#基础-面向对象详解
面向对象详解 一.什么是面向对象 1>面向对象是一种程序设计思想 2>面向过程和面向对象是什么? 例如要把大象放冰箱怎么做? 面向过程:打开冰箱门->把大象扔进去->关上冰箱门 ...
- 流式思想概述和两种获取Stream流的方式
流式思想概述 整体来看,流式思想类似于工厂车间的生产流水线 当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个模型步骤方案,然后再按照方法去执行他 这张图中展示 ...
- 万字长文:从计算机本源深入探寻volatile和Java内存模型
万字长文:从计算机本源深入探寻volatile和Java内存模型 前言 在本篇文章当中,主要给大家深入介绍Volatile关键字和Java内存模型.在文章当中首先先介绍volatile的作用和Java ...