我们正在开发一个使用ECS (实体-组件-系统)的游戏。
因为存储在组件中的所有数据都是公共的,所以每个人都可以很容易地访问它们。有时有人错误地修改了数据,这导致了一个很难找到的bug。
我想做一个工具来限制访问,然后系统只能访问一些固定的组件。我该怎么做呢?
发布于 2020-02-21 13:12:39
我认为对于Unity dev活动,大多数值通常是开放的,并且很容易改变。如果您有需要在C#中公开但在Unity编辑器中不可见的内容,请将其定义为
public var {get;set;}
如果需要在Unity中进一步限制,请将您的变量定义为
public var {get;private set;}
如果您确实需要进一步的保护,请将这些值分解为访问器和后备变量,例如:
var _x;
public var X
{
get {return _x;}
set {
if( valueAllowedToBeWritten)
_x = value;
}祝好运!
https://stackoverflow.com/questions/60331381
复制相似问题