Closed GodChouyu closed 1 year ago
首先感谢提交,部分可以采纳,部分不采纳,原因如下:
1.ContainsKey改为TryGetValue:采纳,这里其实是早期Unity使用的C#版本没有TryGetValue,所以没有使用,现在使用感觉没有什么问题
2.状态机停止时增加判空,采纳,很合理
3.GetEnumerator的问题是也是早期原因,采纳,这里也是因为早期Unity的foreach有GC问题,不过现在的主流版本也没有问题了
4.基于类型的事件重载,不采纳,原因是:感觉不是很合理,事件不应该基于类型去管理,至少不应该是
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