[][src]Struct gdnative::api::Resource

pub struct Resource { /* fields omitted */ }

core class Resource inherits Reference (reference counted).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

The lifetime of this object is automatically managed through reference counting.

Class hierarchy

Resource inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl Resource[src]

pub fn new() -> Ref<Resource, Unique>[src]

Creates a new instance of this object.

This is a reference-counted type. The returned object is automatically managed by Ref.

pub fn duplicate(&self, subresources: bool) -> Option<Ref<Resource, Shared>>[src]

Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing [code]true[/code] to the [code]subresources[/code] argument which will copy the subresources.
				[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.

Default Arguments

  • subresources - false

pub fn get_local_scene(&self) -> Option<Ref<Node, Shared>>[src]

If [member resource_local_to_scene] is enabled and the resource was loaded from a [PackedScene] instantiation, returns the local scene where this resource's unique copy is in use. Otherwise, returns [code]null[/code].

pub fn name(&self) -> GodotString[src]

The name of the resource. This is an optional identifier.

pub fn path(&self) -> GodotString[src]

The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.

pub fn get_rid(&self) -> Rid[src]

Returns the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high-level abstractions of resources stored in a server, so this function will return the original RID.

pub fn is_local_to_scene(&self) -> bool[src]

If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

pub fn set_local_to_scene(&self, enable: bool)[src]

If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

pub fn set_name(&self, name: impl Into<GodotString>)[src]

The name of the resource. This is an optional identifier.

pub fn set_path(&self, path: impl Into<GodotString>)[src]

The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.

pub fn setup_local_to_scene(&self)[src]

This method is called when a resource with [member resource_local_to_scene] enabled is loaded from a [PackedScene] instantiation. Its behavior can be customized by overriding [method _setup_local_to_scene] from script.
				For most resources, this method performs no base logic. [ViewportTexture] performs custom logic to properly set the proxy texture and flags in the local viewport.

pub fn take_over_path(&self, path: impl Into<GodotString>)[src]

Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting [member resource_path], as the latter would error out if another resource was already cached for the given path.

Methods from Deref<Target = Reference>

pub fn init_ref(&self) -> bool[src]

Initializes the internal reference counter. Use this only if you really know what you are doing.
				Returns whether the initialization was successful.

Trait Implementations

impl Debug for Resource[src]

impl Deref for Resource[src]

type Target = Reference

The resulting type after dereferencing.

impl DerefMut for Resource[src]

impl GodotObject for Resource[src]

type RefKind = RefCounted

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for Resource[src]

impl SubClass<Object> for Resource[src]

impl SubClass<Reference> for Resource[src]

impl SubClass<Resource> for InputEventScreenTouch[src]

impl SubClass<Resource> for VisualShaderNodeVec3Uniform[src]

impl SubClass<Resource> for VisualShaderNodeFresnel[src]

impl SubClass<Resource> for ViewportTexture[src]

impl SubClass<Resource> for Font[src]

impl SubClass<Resource> for CapsuleShape2D[src]

impl SubClass<Resource> for BitMap[src]

impl SubClass<Resource> for StyleBoxEmpty[src]

impl SubClass<Resource> for VisualShaderNodeBooleanConstant[src]

impl SubClass<Resource> for OpenSimplexNoise[src]

impl SubClass<Resource> for VisualShaderNodeVectorClamp[src]

impl SubClass<Resource> for VisualScriptFunction[src]

impl SubClass<Resource> for AudioEffectStereoEnhance[src]

impl SubClass<Resource> for Curve2D[src]

impl SubClass<Resource> for AudioStreamOGGVorbis[src]

impl SubClass<Resource> for InputEventMouseMotion[src]

impl SubClass<Resource> for VisualScriptSequence[src]

impl SubClass<Resource> for TextFile[src]

impl SubClass<Resource> for VisualShaderNodeColorUniform[src]

impl SubClass<Resource> for AudioEffectBandLimitFilter[src]

impl SubClass<Resource> for AnimatedTexture[src]

impl SubClass<Resource> for VisualShaderNodeTransformConstant[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniformTriplanar[src]

impl SubClass<Resource> for VisualShaderNodeOuterProduct[src]

impl SubClass<Resource> for Animation[src]

impl SubClass<Resource> for SpatialMaterial[src]

impl SubClass<Resource> for InputEventJoypadButton[src]

impl SubClass<Resource> for VisualScriptSceneTree[src]

impl SubClass<Resource> for ShaderMaterial[src]

impl SubClass<Resource> for AudioStreamSample[src]

impl SubClass<Resource> for VisualShaderNodeVectorDecompose[src]

impl SubClass<Resource> for ProxyTexture[src]

impl SubClass<Resource> for VideoStream[src]

impl SubClass<Resource> for VisualShaderNodeSwitch[src]

impl SubClass<Resource> for VisualShaderNodeBooleanUniform[src]

impl SubClass<Resource> for AnimationNodeBlendSpace1D[src]

impl SubClass<Resource> for InputEventGesture[src]

impl SubClass<Resource> for VisualShaderNodeTransformCompose[src]

impl SubClass<Resource> for Image[src]

impl SubClass<Resource> for VisualShaderNodeVectorSmoothStep[src]

impl SubClass<Resource> for VisualScriptCondition[src]

impl SubClass<Resource> for OccluderPolygon2D[src]

impl SubClass<Resource> for CapsuleShape[src]

impl SubClass<Resource> for VisualShaderNodeVectorOp[src]

impl SubClass<Resource> for PanoramaSky[src]

impl SubClass<Resource> for GradientTexture[src]

impl SubClass<Resource> for AudioEffectReverb[src]

impl SubClass<Resource> for AudioEffectPitchShift[src]

impl SubClass<Resource> for Sky[src]

impl SubClass<Resource> for VisualShaderNodeScalarFunc[src]

impl SubClass<Resource> for VisualScriptClassConstant[src]

impl SubClass<Resource> for AudioEffectEQ21[src]

impl SubClass<Resource> for AudioEffectPhaser[src]

impl SubClass<Resource> for SphereMesh[src]

impl SubClass<Resource> for CylinderShape[src]

impl SubClass<Resource> for ConcavePolygonShape[src]

impl SubClass<Resource> for VisualShaderNodeScalarOp[src]

impl SubClass<Resource> for AnimationNodeOneShot[src]

impl SubClass<Resource> for TextureLayered[src]

impl SubClass<Resource> for InputEvent[src]

impl SubClass<Resource> for AudioEffectLowShelfFilter[src]

impl SubClass<Resource> for ConcavePolygonShape2D[src]

impl SubClass<Resource> for VisualScriptFunctionCall[src]

impl SubClass<Resource> for ShortCut[src]

impl SubClass<Resource> for VideoStreamTheora[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarMix[src]

impl SubClass<Resource> for AnimationNodeStateMachinePlayback[src]

impl SubClass<Resource> for InputEventKey[src]

impl SubClass<Resource> for AudioEffectNotchFilter[src]

impl SubClass<Resource> for VisualScriptOperator[src]

impl SubClass<Resource> for DynamicFontData[src]

impl SubClass<Resource> for AudioEffectRecord[src]

impl SubClass<Resource> for PrismMesh[src]

impl SubClass<Resource> for MeshLibrary[src]

impl SubClass<Resource> for VisualShaderNodeOutput[src]

impl SubClass<Resource> for VisualShaderNodeGroupBase[src]

impl SubClass<Resource> for CameraTexture[src]

impl SubClass<Resource> for InputEventMagnifyGesture[src]

impl SubClass<Resource> for VisualShaderNodeColorOp[src]

impl SubClass<Resource> for InputEventJoypadMotion[src]

impl SubClass<Resource> for AudioEffectHighPassFilter[src]

impl SubClass<Resource> for AudioEffectSpectrumAnalyzer[src]

impl SubClass<Resource> for LineShape2D[src]

impl SubClass<Resource> for Shader[src]

impl SubClass<Resource> for VisualScriptIterator[src]

impl SubClass<Resource> for StyleBoxTexture[src]

impl SubClass<Resource> for RichTextEffect[src]

impl SubClass<Resource> for InputEventMouse[src]

impl SubClass<Resource> for EditorSpatialGizmoPlugin[src]

impl SubClass<Resource> for PackedScene[src]

impl SubClass<Resource> for AnimationNodeAdd3[src]

impl SubClass<Resource> for VisualScriptPropertySet[src]

impl SubClass<Resource> for AtlasTexture[src]

impl SubClass<Resource> for VisualShader[src]

impl SubClass<Resource> for AnimationNodeOutput[src]

impl SubClass<Resource> for TextureArray[src]

impl SubClass<Resource> for VisualScriptBasicTypeConstant[src]

impl SubClass<Resource> for VisualShaderNodeIf[src]

impl SubClass<Resource> for StreamTexture[src]

impl SubClass<Resource> for NoiseTexture[src]

impl SubClass<Resource> for VisualShaderNodeGlobalExpression[src]

impl SubClass<Resource> for AudioEffectLowPassFilter[src]

impl SubClass<Resource> for MultiMesh[src]

impl SubClass<Resource> for InputEventAction[src]

impl SubClass<Resource> for Texture3D[src]

impl SubClass<Resource> for VisualShaderNodeUniform[src]

impl SubClass<Resource> for VisualScriptReturn[src]

impl SubClass<Resource> for VisualScriptVariableGet[src]

impl SubClass<Resource> for SphereShape[src]

impl SubClass<Resource> for AnimationNodeBlend3[src]

impl SubClass<Resource> for InputEventMIDI[src]

impl SubClass<Resource> for VisualShaderNodeVectorLen[src]

impl SubClass<Resource> for PointMesh[src]

impl SubClass<Resource> for Theme[src]

impl SubClass<Resource> for AnimationNodeTimeSeek[src]

impl SubClass<Resource> for VisualShaderNodeCubeMapUniform[src]

impl SubClass<Resource> for StyleBoxFlat[src]

impl SubClass<Resource> for VisualShaderNode[src]

impl SubClass<Resource> for PhysicsMaterial[src]

impl SubClass<Resource> for VisualShaderNodeVectorDerivativeFunc[src]

impl SubClass<Resource> for VideoStreamWebm[src]

impl SubClass<Resource> for CanvasItemMaterial[src]

impl SubClass<Resource> for AudioEffectBandPassFilter[src]

impl SubClass<Resource> for AnimationNodeStateMachine[src]

impl SubClass<Resource> for AudioEffectEQ10[src]

impl SubClass<Resource> for VisualScriptConstructor[src]

impl SubClass<Resource> for BitmapFont[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarStep[src]

impl SubClass<Resource> for World2D[src]

impl SubClass<Resource> for ImageTexture[src]

impl SubClass<Resource> for AudioEffect[src]

impl SubClass<Resource> for VisualShaderNodeVectorDistance[src]

impl SubClass<Resource> for VisualScriptSwitch[src]

impl SubClass<Resource> for VisualShaderNodeVectorRefract[src]

impl SubClass<Resource> for VisualScriptVariableSet[src]

impl SubClass<Resource> for Gradient[src]

impl SubClass<Resource> for Texture[src]

impl SubClass<Resource> for AnimationNodeTimeScale[src]

impl SubClass<Resource> for VisualShaderNodeTransformVecMult[src]

impl SubClass<Resource> for VisualScriptWhile[src]

impl SubClass<Resource> for VisualScriptEngineSingleton[src]

impl SubClass<Resource> for RayShape2D[src]

impl SubClass<Resource> for AnimationRootNode[src]

impl SubClass<Resource> for NavigationPolygon[src]

impl SubClass<Resource> for AnimationNodeTransition[src]

impl SubClass<Resource> for Script[src]

impl SubClass<Resource> for BoxShape[src]

impl SubClass<Resource> for InputEventMouseButton[src]

impl SubClass<Resource> for GDNativeLibrary[src]

impl SubClass<Resource> for PrimitiveMesh[src]

impl SubClass<Resource> for VisualShaderNodeColorFunc[src]

impl SubClass<Resource> for VisualShaderNodeDotProduct[src]

impl SubClass<Resource> for Material[src]

impl SubClass<Resource> for VisualShaderNodeVectorCompose[src]

impl SubClass<Resource> for VisualScriptIndexGet[src]

impl SubClass<Resource> for VisualScriptGlobalConstant[src]

impl SubClass<Resource> for Environment[src]

impl SubClass<Resource> for RayShape[src]

impl SubClass<Resource> for PHashTranslation[src]

impl SubClass<Resource> for AudioEffectCompressor[src]

impl SubClass<Resource> for AudioEffectAmplify[src]

impl SubClass<Resource> for VisualShaderNodeTransformFunc[src]

impl SubClass<Resource> for VideoStreamGDNative[src]

impl SubClass<Resource> for VisualScriptYield[src]

impl SubClass<Resource> for AudioEffectHighShelfFilter[src]

impl SubClass<Resource> for CapsuleMesh[src]

impl SubClass<Resource> for ConvexPolygonShape2D[src]

impl SubClass<Resource> for VisualScriptBuiltinFunc[src]

impl SubClass<Resource> for HeightMapShape[src]

impl SubClass<Resource> for StyleBoxLine[src]

impl SubClass<Resource> for VisualScriptPropertyGet[src]

impl SubClass<Resource> for AudioBusLayout[src]

impl SubClass<Resource> for Translation[src]

impl SubClass<Resource> for VisualShaderNodeTransformUniform[src]

impl SubClass<Resource> for InputEventWithModifiers[src]

impl SubClass<Resource> for VisualScriptLists[src]

impl SubClass<Resource> for ConvexPolygonShape[src]

impl SubClass<Resource> for CurveTexture[src]

impl SubClass<Resource> for VisualShaderNodeFaceForward[src]

impl SubClass<Resource> for VisualScriptComposeArray[src]

impl SubClass<Resource> for ProceduralSky[src]

impl SubClass<Resource> for PlaneMesh[src]

impl SubClass<Resource> for InputEventPanGesture[src]

impl SubClass<Resource> for NavigationMesh[src]

impl SubClass<Resource> for PackedDataContainer[src]

impl SubClass<Resource> for VisualScriptPreload[src]

impl SubClass<Resource> for VisualShaderNodeIs[src]

impl SubClass<Resource> for CubeMesh[src]

impl SubClass<Resource> for VisualShaderNodeVectorInterp[src]

impl SubClass<Resource> for VisualShaderNodeCustom[src]

impl SubClass<Resource> for VisualShaderNodeScalarInterp[src]

impl SubClass<Resource> for VisualScriptExpression[src]

impl SubClass<Resource> for VisualScriptEmitSignal[src]

impl SubClass<Resource> for AudioEffectPanner[src]

impl SubClass<Resource> for AudioEffectEQ[src]

impl SubClass<Resource> for VisualScriptIndexSet[src]

impl SubClass<Resource> for Mesh[src]

impl SubClass<Resource> for VisualScript[src]

impl SubClass<Resource> for DynamicFont[src]

impl SubClass<Resource> for CircleShape2D[src]

impl SubClass<Resource> for VisualScriptLocalVar[src]

impl SubClass<Resource> for AnimationNodeBlendSpace2D[src]

impl SubClass<Resource> for PlaneShape[src]

impl SubClass<Resource> for VisualScriptSelf[src]

impl SubClass<Resource> for VisualShaderNodeVec3Constant[src]

impl SubClass<Resource> for EditorSettings[src]

impl SubClass<Resource> for InputEventScreenDrag[src]

impl SubClass<Resource> for AnimationNodeAdd2[src]

impl SubClass<Resource> for VisualShaderNodeScalarDerivativeFunc[src]

impl SubClass<Resource> for VisualShaderNodeScalarUniform[src]

impl SubClass<Resource> for AudioEffectDelay[src]

impl SubClass<Resource> for VisualShaderNodeScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeScalarConstant[src]

impl SubClass<Resource> for VisualShaderNodeInput[src]

impl SubClass<Resource> for VisualScriptYieldSignal[src]

impl SubClass<Resource> for VisualScriptTypeCast[src]

impl SubClass<Resource> for Skin[src]

impl SubClass<Resource> for GIProbeData[src]

impl SubClass<Resource> for AudioEffectFilter[src]

impl SubClass<Resource> for SegmentShape2D[src]

impl SubClass<Resource> for Shape2D[src]

impl SubClass<Resource> for AudioStreamGenerator[src]

impl SubClass<Resource> for AnimationNodeAnimation[src]

impl SubClass<Resource> for MeshTexture[src]

impl SubClass<Resource> for VisualShaderNodeVectorFunc[src]

impl SubClass<Resource> for VisualShaderNodeCubeMap[src]

impl SubClass<Resource> for SpriteFrames[src]

impl SubClass<Resource> for GDScript[src]

impl SubClass<Resource> for VisualScriptSceneNode[src]

impl SubClass<Resource> for ArrayMesh[src]

impl SubClass<Resource> for TileSet[src]

impl SubClass<Resource> for AudioEffectChorus[src]

impl SubClass<Resource> for X509Certificate[src]

impl SubClass<Resource> for NativeScript[src]

impl SubClass<Resource> for Curve3D[src]

impl SubClass<Resource> for Curve[src]

impl SubClass<Resource> for VisualShaderNodeColorConstant[src]

impl SubClass<Resource> for RectangleShape2D[src]

impl SubClass<Resource> for PolygonPathFinder[src]

impl SubClass<Resource> for VisualScriptDeconstruct[src]

impl SubClass<Resource> for ExternalTexture[src]

impl SubClass<Resource> for VisualShaderNodeScalarClamp[src]

impl SubClass<Resource> for VisualScriptInputAction[src]

impl SubClass<Resource> for CubeMap[src]

impl SubClass<Resource> for VisualScriptSelect[src]

impl SubClass<Resource> for VisualScriptLocalVarSet[src]

impl SubClass<Resource> for QuadMesh[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeTransformDecompose[src]

impl SubClass<Resource> for VisualScriptSubCall[src]

impl SubClass<Resource> for AudioStreamRandomPitch[src]

impl SubClass<Resource> for VisualScriptCustomNode[src]

impl SubClass<Resource> for VisualShaderNodeDeterminant[src]

impl SubClass<Resource> for ParticlesMaterial[src]

impl SubClass<Resource> for PluginScript[src]

impl SubClass<Resource> for VisualScriptNode[src]

impl SubClass<Resource> for AnimationNodeBlendTree[src]

impl SubClass<Resource> for Shape[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniform[src]

impl SubClass<Resource> for AudioStream[src]

impl SubClass<Resource> for CylinderMesh[src]

impl SubClass<Resource> for LargeTexture[src]

impl SubClass<Resource> for VisualShaderNodeTransformMult[src]

impl SubClass<Resource> for VisualShaderNodeTexture[src]

impl SubClass<Resource> for BakedLightmapData[src]

impl SubClass<Resource> for AudioEffectEQ6[src]

impl SubClass<Resource> for AnimationNode[src]

impl SubClass<Resource> for VisualScriptMathConstant[src]

impl SubClass<Resource> for StyleBox[src]

impl SubClass<Resource> for VisualShaderNodeScalarSwitch[src]

impl SubClass<Resource> for VisualScriptComment[src]

impl SubClass<Resource> for AudioEffectLimiter[src]

impl SubClass<Resource> for AudioEffectDistortion[src]

impl SubClass<Resource> for VisualScriptResourcePath[src]

impl SubClass<Resource> for AnimationNodeBlend2[src]

impl SubClass<Resource> for VisualScriptConstant[src]

impl SubClass<Resource> for VisualShaderNodeCompare[src]

impl SubClass<Resource> for CryptoKey[src]

impl SubClass<Resource> for VisualShaderNodeExpression[src]

impl SubClass<Resource> for AnimationNodeStateMachineTransition[src]

impl SubClass<Resource> for World[src]

impl SubClass<Resource> for ButtonGroup[src]

impl SubClass<Resource> for AudioStreamMicrophone[src]

Auto Trait Implementations

impl RefUnwindSafe for Resource

impl !Send for Resource

impl !Sync for Resource

impl Unpin for Resource

impl UnwindSafe for Resource

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.