C# 从网络复制';s数据到逻辑';s数据或使数据成为类成员

C# 从网络复制';s数据到逻辑';s数据或使数据成为类成员,c#,unity3d,C#,Unity3d,我正在使用unity3d开发一个带有ProtoBuff的网络游戏 我定义了一个BattleData.proto message BattleData { required uint64 id = 1; required string name = 2; required int32 hp = 3; required int32 atk = 4; } 我从网络上接收数据,并将二进制数据反序列化为类数据 现在我有一个关于如何使用它的问题 如果

我正在使用unity3d开发一个带有ProtoBuff的网络游戏

我定义了一个BattleData.proto

message BattleData
{
    required uint64  id = 1;
    required string  name = 2;
    required int32   hp  = 3;  
    required int32   atk  = 4;  
}
我从网络上接收数据,并将二进制数据反序列化为类数据

现在我有一个关于如何使用它的问题

如果将数据作为类成员,我应该使用logic.battleData.XXX,否则我可以更快地使用logic.atk

我不喜欢这个款式,因为这里有太多的“.”,但是如果我 选择另一个,当proto更改时,我必须修改类
BattleLogic

公共类逻辑{
公共作战数据;
或
公共图书馆;
公共字符串名称;
公共int hp;
公共int atk;
}

如果你不喜欢
你可以简单地使用like

现在你可以读和写了

var id = battleLogicReference.id;
battleLogicReference.name = "XYZ";

是的,每次你访问它时,它都是这个或附加的
访问
var id = battleLogicReference.id;
battleLogicReference.name = "XYZ";