use core::ffi::*;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-scene-kit")]
use objc2_scene_kit::*;
use crate::*;
mod private_SCNNodeGameplayKit {
pub trait Sealed {}
}
#[doc(alias = "GameplayKit")]
pub unsafe trait SCNNodeGameplayKit:
ClassType + Sized + private_SCNNodeGameplayKit::Sealed
{
extern_methods!(
#[cfg(feature = "GKEntity")]
#[unsafe(method(entity))]
#[unsafe(method_family = none)]
unsafe fn entity(&self) -> Option<Retained<GKEntity>>;
#[cfg(feature = "GKEntity")]
#[unsafe(method(setEntity:))]
#[unsafe(method_family = none)]
unsafe fn setEntity(&self, entity: Option<&GKEntity>);
);
}
#[cfg(feature = "objc2-scene-kit")]
impl private_SCNNodeGameplayKit::Sealed for SCNNode {}
#[cfg(feature = "objc2-scene-kit")]
unsafe impl SCNNodeGameplayKit for SCNNode {}
#[cfg(all(feature = "GKScene", feature = "objc2-scene-kit"))]
extern_conformance!(
unsafe impl GKSceneRootNodeType for SCNScene {}
);