我使用的是python,我想创建一个包含许多变量的类,其中一些是普通变量,其他的需要更新到服务器。我有一个遍历对象所有变量的循环,但我不知道如何识别哪些变量需要更新。我可以将这些对象作为一个带有一个变量的类,但我不希望这样做。有没有一种可以接受的方法来实现这一点?你知道吗
我想要Unity的C#库中有这样的东西,你可以定义一个正则int,比如public int health = 100;
,但是你也可以将它定义为[SyncVar] public int health =100;
,然后你可以像平常一样使用这个变量,除非它有额外的数据。你知道吗
检查对象变量的循环如下所示:
def send_sync_vars(o):
for k, v in o.__dict__.iteritems():
if isinstance(v, SyncVar):
update_var(k ,v)
无法像在C#中那样向属性添加注释。(较新版本的pythondo支持type annotations,但是它们是用于类型注释的。我建议不要为了别的目的滥用它们。)
将一组属性标记为SyncVars最简单的方法可能是将它们的名称存储在类属性中:
另一种可能是对整个过程进行过度设计,并将这些属性实现为descriptors:
相关问题 更多 >
编程相关推荐