news 2026/4/25 9:50:39

如果做代码生成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如果做代码生成

一、SiYangFSM

一个轻量级的可嵌套FSM有限状态机框架:
https://github.com/SYRollingStone/SiYangFSM

二、一个需求

在一个有限状态机中,我希望每个状态机是一个单独的文件class,而不是很多class放在一个文件中。

手动重复创建状态机很恶心。

三、实现思路

代码读取模板文件,然后替换其中的特殊字符,最后保存在项目中一个位置即可。

3.1 先有一个模板文件

所有需要替换的内容都被双括号{{}}标识

using System; namespace {{Namespace}} { /// <summary> /// {{ClassName}} /// </summary> public class {{ClassName}} : StateBase { public {{ClassName}}() : base("{{StateName}}") { } public override void OnEnter() { // TODO: Enter logic } public override void OnExit() { // TODO: Exit logic } public override void Tick(float deltaTime) { // TODO: Update logic } public override void FixedTick(float fixedDeltaTime) { // TODO: FixedUpdate logic } public override void HandleEvent(string eventId, object data = null) { // TODO: Event handling } } }

3.2 UnityEditor中配置双括号内容,然后替换、生成

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 20:32:57

视频进度控制脚本

// 视频进度控制脚本 - 直接复制到浏览器控制台运行 // 支持左右箭头键快进/快退视频(function () {use strict;// 配置const SEEK_SECONDS 5; // 每次跳转的秒数const LONG_SEEK_SECONDS 10; // 长按Shift时跳转的秒数console.log(&#x1f3ac; 视频键盘控制已启用);consol…

作者头像 李华
网站建设 2026/4/18 16:54:34

一篇拿下!C++:类和对象(上)、封装、实例化和this指针详解

一、类的定义类的定义格式class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后面分号不能省略。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。为了区分…

作者头像 李华
网站建设 2026/4/19 9:50:39

板栗矮砧密植:水肥一体化系统的铺设要点指南

认识板栗矮砧密植板栗矮砧密植&#xff0c;简单来说就是选用矮化砧木嫁接的板栗品种&#xff08;Dwarf rootstock variety&#xff09;&#xff0c;通过科学增加种植密度来提高产量的创新栽培模式。就像在有限的果园空间里&#xff0c;精心规划每一寸土地&#xff0c;让更多果树…

作者头像 李华
网站建设 2026/4/17 21:19:22

LeetCode 3606.优惠券校验器:分类 + 排序

【LetMeFly】3606.优惠券校验器&#xff1a;分类 排序 力扣题目链接&#xff1a;https://leetcode.cn/problems/coupon-code-validator/ 给你三个长度为 n 的数组&#xff0c;分别描述 n 个优惠券的属性&#xff1a;code、businessLine 和 isActive。其中&#xff0c;第 i 个…

作者头像 李华
网站建设 2026/4/25 6:41:24

ensp vlan实验作业

一、实验拓扑&#xff08;截自己的拓扑图&#xff0c;附加上地址分配情况&#xff09;二、实验需求1、全网可达&#xff1b;2、使用DHCP获取IP地址&#xff1b;三、配置思路1、在各个交换机上创建vlan2、分析链路类型&#xff0c;配置相应的接口为access口或是trunk口3、配置路…

作者头像 李华
网站建设 2026/4/23 19:22:23

24、网页开发技术综合解析

网页开发技术综合解析 1. 基础概念与环境搭建 在网页开发领域,有众多基础概念和环境搭建的要点需要掌握。首先是互联网相关的概念,互联网地址、IP 协议以及互联网服务提供商(ISP)是网络连接的基础。而在操作系统方面,Linux 是一个重要的选择。Linux 有多种发行版,如 Re…

作者头像 李华