Joker-YF / JKFrame

Indie Game Framework
MIT License
249 stars 39 forks source link

1.为事件系统添加基于类型的事件重载 2.StateMachine细节修改 #3

Closed GodChouyu closed 1 year ago

GodChouyu commented 1 year ago

1.为事件系统添加基于类型的事件重载 2.StateMachine修改: (1)GetEnumerator没有使用using导致线程不安全,且微软官方不建议使用,改为foreach循环 --https://learn.microsoft.com/zh-cn/dotnet/api/system.collections.generic.dictionary-2.getenumerator?view=net-7.0 (2)状态机Stop时增加判空。 (3)ContainsKey改为TryGetValue --https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2.containskey?view=net-7.0

Joker-YF commented 1 year ago

首先感谢提交,部分可以采纳,部分不采纳,原因如下: 1.ContainsKey改为TryGetValue:采纳,这里其实是早期Unity使用的C#版本没有TryGetValue,所以没有使用,现在使用感觉没有什么问题 2.状态机停止时增加判空,采纳,很合理 3.GetEnumerator的问题是也是早期原因,采纳,这里也是因为早期Unity的foreach有GC问题,不过现在的主流版本也没有问题了 4.基于类型的事件重载,不采纳,原因是:感觉不是很合理,事件不应该基于类型去管理,至少不应该是 5.会增加一个贡献者名单,附上你的昵称