关于ECS(实体组件系统)游戏编程中的数据访问控制问题



我们正在用ECS(实体组件系统(开发一个游戏。

因为存储在组件中的所有数据都是公共的,所以每个人都可以轻松地访问它们。有时有人错误地修改了数据,这会导致很难找到的错误

我想制作一个工具来限制访问,然后系统只能访问一些固定组件。我该怎么做?

我认为对于Unity开发活动,大多数值通常是开放的,并且很容易更改。如果你有一些东西需要在C#中公开,但在Unity编辑器中看不到,那么将其定义为

公共变量{get;set;}

如果您需要在Unity中进一步限制,请将您的变量定义为

public var{get;private set;}

如果您确实需要进一步的保护,请将值分解为访问器和支持变量,即:

var _x;
public var X
{
get {return _x;}
set {
if( valueAllowedToBeWritten)
_x = value;
}

祝你好运!

最新更新