Я считаю, что C # делает членов закрытыми по умолчанию, поэтому вам просто нужно сделать Active
открытым полем:
public bool Active;
Более целесообразным было бы сделать это свойство общедоступным get
аксессором, оставив set
приватным:
public bool Active { get; private set; }
Обновление (для тех, кто только сейчас приходит к этому вопросу):
В качестве альтернативы, может быть лучше (будь то для повышения производительности или для того, чтобы меньше интересоваться коллегами-разработчиками игр), для этой цели следует использовать поле readonly
:
public readonly bool Active;
В последнем случае вам необходимо установить значение Active
в конструкторе вашего типа.
Первоначально я ответил на этот вопрос с точки зрения неигрового разработчика, и поэтому этот ответ (как и все, что вы читаете здесь или в другом месте в Интернете) следует воспринимать с недоверием. Я утверждаю, что использование свойства для скрытия установщика в поле - будь то в структуре или классе - имеет смысл в типичных приложениях. Комментарии, оставленные другими, заставляют меня поверить, что перенос поля в свойство является не нормой для игр, однако (из-за понятных соображений производительности); и поэтому вы, вероятно, можете смело игнорировать мое последнее предложение.