这是代码:
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
关键字。