我读到的是在c#和Scaleform之间使用反射。这主要用于触发MVC之间的交互和功能,但我只是想知道将数据对象从游戏转移到UI的最佳方法是什么。
我们的目标是让UI处理尽可能多的显示功能。这个问题是在Unity游戏的背景下提出的,在这种情况下,资源是有限的,系统应该尽可能地划分。你不能将原始数据块传递给Scaleform并将其作为"裸"对象接收(例如{id:0, name:"foo", x:100, y:100}
等)。然而,你可以在c#和AS3中创建相应的数据容器类型,并以这种方式传输数据。这是通过value.ConvertFromAsObject
法和Value.ConvertToAsObject
静态法来完成的。
在Scaleform 4.2 API中,这些信息可以在Scaleform Unity集成指南第8.1.6节"在c#和AS3之间传递对象"中找到。
或者,您可以查看SFValue.cs中这些函数的实现,并将其作为使用DirectAccess API开发自己的数据传输技术的指南。