我收到错误 CS0535
<块引用>Library\PackageCache\com.unity.render-pipelines.universal@7.1.8\Editor\UniversalRenderPipelineCameraEditor.cs(1049,57): 错误 CS0535: 'UniversalRenderPipelineCameraContextualMenu' 没有实现接口成员 'IRemoveAlmoveComponentCameraDataCameraData IEnumerable)'
我的代码是
[ScriptableRenderPipelineExtension(typeof(UniversalRenderPipelineAsset))]
class UniversalRenderPipelineCameraContextualMenu : IRemoveAdditionalDataContextualMenu<Camera>
{
//The call is delayed to the dispatcher to solve conflict with other SRP
public void RemoveComponent(Camera camera)
{
Undo.SetCurrentGroupName("Remove Universal Camera");
var additionalCameraData = camera.GetComponent<UniversalAdditionalCameraData>();
if (additionalCameraData)
{
Undo.DestroyObjectImmediate(additionalCameraData);
}
Undo.DestroyObjectImmediate(camera);
答案 0 :(得分:1)
您忘记了 RemoveComponent 方法中的参数。应该是 public void RemoveComponent(Camera camera, IEnumerable obj)
之类的。
您需要实现 IRemoveAdditionalDataContextualMenu<Camera>
中的所有接口成员
您可以尝试按 Ctrl
并点击 IRemoveAdditionalDataContextualMenu
您必须实现您在该接口中看到的每一种方法。
在实现成员时,您必须考虑返回类型(void
、int
等)、方法名称和确切参数。
这样做,你的错误就会消失。
来自 Olivier 的评论:Use this tutorial if you are using Visual Studio