我可以通过接口访问Monobehaivor属性吗



这是代码:

IMovable movement;
void DisableMovementSystem()
{
TryGetComponent(out movement);
if (movement == null) return;

movement.enabled == false;  //doesn't exist

}

我想完成的是检查";CCD_ 1";继承";CCD_ 2";接口是否已启用。从逻辑上讲,我确信如果;CCD_ 3";方法奏效了,而这无疑是一个Monobehaivor。但编译器并没有"运动";没有";启用";所有物有其他方法可以访问它吗?

我有一个想法,在接口中创建抽象方法,比如void SetEnabledProp(bool enabled)并使用它。但也许还有更优雅的方法?

您只是想看看一个脚本是否继承自IMovable并且也是MonoBehaviour吗?

你可以做一些类似的事情

if(movement is MonoBehaviour) 
{
// object is also a MonoBehaviour
}

编辑:只是为了让答案不在评论中,OP正在寻找的解决方案是使用as关键字。

最新更新