[][src]Struct gdnative_bindings::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<Self, 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 Sealed for Resource[src]

impl SubClass<Object> for Resource[src]

impl SubClass<Reference> for Resource[src]

impl SubClass<Resource> for VisualShaderNodeScalarConstant[src]

impl SubClass<Resource> for PluginScript[src]

impl SubClass<Resource> for ConcavePolygonShape[src]

impl SubClass<Resource> for SphereShape[src]

impl SubClass<Resource> for AnimationNodeOneShot[src]

impl SubClass<Resource> for VideoStreamTheora[src]

impl SubClass<Resource> for VisualScriptVariableGet[src]

impl SubClass<Resource> for VisualScriptConstant[src]

impl SubClass<Resource> for AudioEffectStereoEnhance[src]

impl SubClass<Resource> for DynamicFontData[src]

impl SubClass<Resource> for AudioEffectDelay[src]

impl SubClass<Resource> for ShortCut[src]

impl SubClass<Resource> for VisualScriptSequence[src]

impl SubClass<Resource> for VisualScriptExpression[src]

impl SubClass<Resource> for AudioEffectDistortion[src]

impl SubClass<Resource> for VisualShaderNodeVectorClamp[src]

impl SubClass<Resource> for NavigationPolygon[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniformTriplanar[src]

impl SubClass<Resource> for VisualScriptPreload[src]

impl SubClass<Resource> for VisualScriptLists[src]

impl SubClass<Resource> for GDScript[src]

impl SubClass<Resource> for AnimationNodeTimeSeek[src]

impl SubClass<Resource> for VisualShaderNodeScalarClamp[src]

impl SubClass<Resource> for MeshLibrary[src]

impl SubClass<Resource> for VisualScriptCustomNode[src]

impl SubClass<Resource> for AnimationRootNode[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeInput[src]

impl SubClass<Resource> for CryptoKey[src]

impl SubClass<Resource> for PrismMesh[src]

impl SubClass<Resource> for AudioEffectRecord[src]

impl SubClass<Resource> for VisualScriptSceneTree[src]

impl SubClass<Resource> for GDNativeLibrary[src]

impl SubClass<Resource> for OpenSimplexNoise[src]

impl SubClass<Resource> for VisualScriptConstructor[src]

impl SubClass<Resource> for PackedScene[src]

impl SubClass<Resource> for InputEventPanGesture[src]

impl SubClass<Resource> for NoiseTexture[src]

impl SubClass<Resource> for VisualScriptFunction[src]

impl SubClass<Resource> for VisualShaderNodeVectorDerivativeFunc[src]

impl SubClass<Resource> for TileSet[src]

impl SubClass<Resource> for VideoStreamWebm[src]

impl SubClass<Resource> for CylinderShape[src]

impl SubClass<Resource> for CapsuleMesh[src]

impl SubClass<Resource> for AudioEffectSpectrumAnalyzer[src]

impl SubClass<Resource> for PlaneMesh[src]

impl SubClass<Resource> for AtlasTexture[src]

impl SubClass<Resource> for VisualScriptWhile[src]

impl SubClass<Resource> for VisualScriptBuiltinFunc[src]

impl SubClass<Resource> for VisualShaderNodeCubeMap[src]

impl SubClass<Resource> for InputEventAction[src]

impl SubClass<Resource> for ShaderMaterial[src]

impl SubClass<Resource> for VisualShaderNodeCubeMapUniform[src]

impl SubClass<Resource> for VisualShaderNodeTransformMult[src]

impl SubClass<Resource> for PanoramaSky[src]

impl SubClass<Resource> for Skin[src]

impl SubClass<Resource> for PHashTranslation[src]

impl SubClass<Resource> for AudioEffectLowShelfFilter[src]

impl SubClass<Resource> for InputEventMIDI[src]

impl SubClass<Resource> for VisualScriptVariableSet[src]

impl SubClass<Resource> for VisualShaderNodeVectorSmoothStep[src]

impl SubClass<Resource> for AudioEffectEQ10[src]

impl SubClass<Resource> for InputEventMouseMotion[src]

impl SubClass<Resource> for PackedDataContainer[src]

impl SubClass<Resource> for PhysicsMaterial[src]

impl SubClass<Resource> for VisualShaderNodeVec3Uniform[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarStep[src]

impl SubClass<Resource> for InputEvent[src]

impl SubClass<Resource> for CubeMesh[src]

impl SubClass<Resource> for VisualScript[src]

impl SubClass<Resource> for VisualScriptLocalVarSet[src]

impl SubClass<Resource> for Shader[src]

impl SubClass<Resource> for VisualShaderNodeVectorRefract[src]

impl SubClass<Resource> for CubeMap[src]

impl SubClass<Resource> for AudioEffectAmplify[src]

impl SubClass<Resource> for ViewportTexture[src]

impl SubClass<Resource> for AnimationNodeBlendSpace2D[src]

impl SubClass<Resource> for VisualShaderNodeScalarDerivativeFunc[src]

impl SubClass<Resource> for VisualShaderNodeSwitch[src]

impl SubClass<Resource> for AudioEffectReverb[src]

impl SubClass<Resource> for AudioEffect[src]

impl SubClass<Resource> for CylinderMesh[src]

impl SubClass<Resource> for InputEventMouse[src]

impl SubClass<Resource> for DynamicFont[src]

impl SubClass<Resource> for VisualScriptPropertyGet[src]

impl SubClass<Resource> for VisualShaderNodeBooleanConstant[src]

impl SubClass<Resource> for VisualScriptTypeCast[src]

impl SubClass<Resource> for VisualShaderNodeIs[src]

impl SubClass<Resource> for VisualScriptYield[src]

impl SubClass<Resource> for VisualShaderNodeOutput[src]

impl SubClass<Resource> for RayShape[src]

impl SubClass<Resource> for VisualShaderNodeScalarInterp[src]

impl SubClass<Resource> for AudioEffectNotchFilter[src]

impl SubClass<Resource> for Material[src]

impl SubClass<Resource> for VisualShaderNodeCompare[src]

impl SubClass<Resource> for VisualShaderNodeFresnel[src]

impl SubClass<Resource> for RayShape2D[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniform[src]

impl SubClass<Resource> for InputEventKey[src]

impl SubClass<Resource> for AnimatedTexture[src]

impl SubClass<Resource> for AnimationNode[src]

impl SubClass<Resource> for ParticlesMaterial[src]

impl SubClass<Resource> for VisualScriptSelf[src]

impl SubClass<Resource> for VisualShaderNodeGlobalExpression[src]

impl SubClass<Resource> for RichTextEffect[src]

impl SubClass<Resource> for AudioEffectHighShelfFilter[src]

impl SubClass<Resource> for HeightMapShape[src]

impl SubClass<Resource> for VisualScriptEmitSignal[src]

impl SubClass<Resource> for VisualScriptIterator[src]

impl SubClass<Resource> for VisualScriptResourcePath[src]

impl SubClass<Resource> for LargeTexture[src]

impl SubClass<Resource> for StyleBoxTexture[src]

impl SubClass<Resource> for AudioEffectPanner[src]

impl SubClass<Resource> for Curve[src]

impl SubClass<Resource> for ConcavePolygonShape2D[src]

impl SubClass<Resource> for VisualShaderNodeVectorDecompose[src]

impl SubClass<Resource> for MultiMesh[src]

impl SubClass<Resource> for Animation[src]

impl SubClass<Resource> for StreamTexture[src]

impl SubClass<Resource> for VisualShaderNodeColorUniform[src]

impl SubClass<Resource> for VisualScriptIndexGet[src]

impl SubClass<Resource> for StyleBoxLine[src]

impl SubClass<Resource> for VisualShaderNodeCustom[src]

impl SubClass<Resource> for VisualShaderNodeScalarSwitch[src]

impl SubClass<Resource> for VisualScriptNode[src]

impl SubClass<Resource> for VisualShaderNodeScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeTexture[src]

impl SubClass<Resource> for Curve3D[src]

impl SubClass<Resource> for AudioStreamOGGVorbis[src]

impl SubClass<Resource> for InputEventMouseButton[src]

impl SubClass<Resource> for QuadMesh[src]

impl SubClass<Resource> for AnimationNodeTransition[src]

impl SubClass<Resource> for VisualScriptCondition[src]

impl SubClass<Resource> for StyleBoxEmpty[src]

impl SubClass<Resource> for VisualShaderNodeExpression[src]

impl SubClass<Resource> for VisualShaderNodeTransformUniform[src]

impl SubClass<Resource> for NativeScript[src]

impl SubClass<Resource> for RectangleShape2D[src]

impl SubClass<Resource> for AudioEffectLowPassFilter[src]

impl SubClass<Resource> for AudioEffectEQ6[src]

impl SubClass<Resource> for Shape[src]

impl SubClass<Resource> for VisualShaderNodeGroupBase[src]

impl SubClass<Resource> for EditorSettings[src]

impl SubClass<Resource> for AnimationNodeAdd3[src]

impl SubClass<Resource> for AudioEffectBandLimitFilter[src]

impl SubClass<Resource> for TextureLayered[src]

impl SubClass<Resource> for VisualShaderNodeDeterminant[src]

impl SubClass<Resource> for InputEventMagnifyGesture[src]

impl SubClass<Resource> for CircleShape2D[src]

impl SubClass<Resource> for VisualScriptReturn[src]

impl SubClass<Resource> for CameraTexture[src]

impl SubClass<Resource> for VisualShaderNodeColorOp[src]

impl SubClass<Resource> for VisualShaderNodeVectorDistance[src]

impl SubClass<Resource> for VisualShader[src]

impl SubClass<Resource> for Translation[src]

impl SubClass<Resource> for VisualShaderNodeVectorInterp[src]

impl SubClass<Resource> for AudioEffectEQ21[src]

impl SubClass<Resource> for VisualShaderNodeVec3Constant[src]

impl SubClass<Resource> for VisualScriptComment[src]

impl SubClass<Resource> for ConvexPolygonShape2D[src]

impl SubClass<Resource> for AnimationNodeBlend2[src]

impl SubClass<Resource> for ProceduralSky[src]

impl SubClass<Resource> for EditorSpatialGizmoPlugin[src]

impl SubClass<Resource> for VisualScriptPropertySet[src]

impl SubClass<Resource> for VisualShaderNodeTransformConstant[src]

impl SubClass<Resource> for VisualShaderNodeIf[src]

impl SubClass<Resource> for VisualShaderNodeTransformVecMult[src]

impl SubClass<Resource> for TextureArray[src]

impl SubClass<Resource> for AudioEffectFilter[src]

impl SubClass<Resource> for VideoStream[src]

impl SubClass<Resource> for VisualScriptSceneNode[src]

impl SubClass<Resource> for Image[src]

impl SubClass<Resource> for InputEventScreenDrag[src]

impl SubClass<Resource> for StyleBoxFlat[src]

impl SubClass<Resource> for InputEventWithModifiers[src]

impl SubClass<Resource> for VisualScriptEngineSingleton[src]

impl SubClass<Resource> for VisualScriptDeconstruct[src]

impl SubClass<Resource> for InputEventScreenTouch[src]

impl SubClass<Resource> for VisualScriptSelect[src]

impl SubClass<Resource> for AudioEffectLimiter[src]

impl SubClass<Resource> for VisualShaderNodeOuterProduct[src]

impl SubClass<Resource> for AudioBusLayout[src]

impl SubClass<Resource> for VisualShaderNodeColorConstant[src]

impl SubClass<Resource> for VisualShaderNodeVectorOp[src]

impl SubClass<Resource> for AudioEffectBandPassFilter[src]

impl SubClass<Resource> for AnimationNodeAnimation[src]

impl SubClass<Resource> for Mesh[src]

impl SubClass<Resource> for CanvasItemMaterial[src]

impl SubClass<Resource> for AudioEffectEQ[src]

impl SubClass<Resource> for ArrayMesh[src]

impl SubClass<Resource> for VisualScriptComposeArray[src]

impl SubClass<Resource> for VisualScriptMathConstant[src]

impl SubClass<Resource> for AnimationNodeStateMachine[src]

impl SubClass<Resource> for CurveTexture[src]

impl SubClass<Resource> for ConvexPolygonShape[src]

impl SubClass<Resource> for Texture[src]

impl SubClass<Resource> for InputEventJoypadButton[src]

impl SubClass<Resource> for InputEventJoypadMotion[src]

impl SubClass<Resource> for AudioStreamSample[src]

impl SubClass<Resource> for VisualScriptClassConstant[src]

impl SubClass<Resource> for VisualScriptLocalVar[src]

impl SubClass<Resource> for VisualShaderNodeFaceForward[src]

impl SubClass<Resource> for CapsuleShape[src]

impl SubClass<Resource> for VisualShaderNodeDotProduct[src]

impl SubClass<Resource> for TextFile[src]

impl SubClass<Resource> for AudioStreamMicrophone[src]

impl SubClass<Resource> for BitMap[src]

impl SubClass<Resource> for OccluderPolygon2D[src]

impl SubClass<Resource> for AudioEffectCompressor[src]

impl SubClass<Resource> for SpatialMaterial[src]

impl SubClass<Resource> for Theme[src]

impl SubClass<Resource> for AnimationNodeBlend3[src]

impl SubClass<Resource> for ImageTexture[src]

impl SubClass<Resource> for VisualScriptBasicTypeConstant[src]

impl SubClass<Resource> for VisualScriptGlobalConstant[src]

impl SubClass<Resource> for VisualShaderNodeVectorCompose[src]

impl SubClass<Resource> for VisualShaderNodeVectorLen[src]

impl SubClass<Resource> for VisualShaderNodeScalarUniform[src]

impl SubClass<Resource> for AudioStream[src]

impl SubClass<Resource> for InputEventGesture[src]

impl SubClass<Resource> for VisualShaderNodeColorFunc[src]

impl SubClass<Resource> for GradientTexture[src]

impl SubClass<Resource> for Script[src]

impl SubClass<Resource> for PlaneShape[src]

impl SubClass<Resource> for VisualShaderNodeBooleanUniform[src]

impl SubClass<Resource> for AudioEffectPitchShift[src]

impl SubClass<Resource> for VisualScriptInputAction[src]

impl SubClass<Resource> for PointMesh[src]

impl SubClass<Resource> for BoxShape[src]

impl SubClass<Resource> for VisualScriptSubCall[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarMix[src]

impl SubClass<Resource> for VisualShaderNode[src]

impl SubClass<Resource> for VisualShaderNodeScalarOp[src]

impl SubClass<Resource> for Environment[src]

impl SubClass<Resource> for StyleBox[src]

impl SubClass<Resource> for NavigationMesh[src]

impl SubClass<Resource> for SpriteFrames[src]

impl SubClass<Resource> for AnimationNodeTimeScale[src]

impl SubClass<Resource> for AnimationNodeAdd2[src]

impl SubClass<Resource> for AudioEffectHighPassFilter[src]

impl SubClass<Resource> for LineShape2D[src]

impl SubClass<Resource> for Curve2D[src]

impl SubClass<Resource> for ButtonGroup[src]

impl SubClass<Resource> for Gradient[src]

impl SubClass<Resource> for AnimationNodeStateMachineTransition[src]

impl SubClass<Resource> for BakedLightmapData[src]

impl SubClass<Resource> for AudioStreamGenerator[src]

impl SubClass<Resource> for VisualScriptOperator[src]

impl SubClass<Resource> for VisualShaderNodeTransformFunc[src]

impl SubClass<Resource> for BitmapFont[src]

impl SubClass<Resource> for AnimationNodeBlendTree[src]

impl SubClass<Resource> for VisualShaderNodeVectorFunc[src]

impl SubClass<Resource> for World2D[src]

impl SubClass<Resource> for VisualScriptFunctionCall[src]

impl SubClass<Resource> for AudioEffectChorus[src]

impl SubClass<Resource> for World[src]

impl SubClass<Resource> for SegmentShape2D[src]

impl SubClass<Resource> for AnimationNodeOutput[src]

impl SubClass<Resource> for AudioStreamRandomPitch[src]

impl SubClass<Resource> for ExternalTexture[src]

impl SubClass<Resource> for VisualScriptIndexSet[src]

impl SubClass<Resource> for AnimationNodeStateMachinePlayback[src]

impl SubClass<Resource> for PrimitiveMesh[src]

impl SubClass<Resource> for AnimationNodeBlendSpace1D[src]

impl SubClass<Resource> for VisualShaderNodeUniform[src]

impl SubClass<Resource> for CapsuleShape2D[src]

impl SubClass<Resource> for Shape2D[src]

impl SubClass<Resource> for Sky[src]

impl SubClass<Resource> for VisualShaderNodeScalarFunc[src]

impl SubClass<Resource> for VisualShaderNodeTransformDecompose[src]

impl SubClass<Resource> for ProxyTexture[src]

impl SubClass<Resource> for AudioEffectPhaser[src]

impl SubClass<Resource> for VisualScriptYieldSignal[src]

impl SubClass<Resource> for PolygonPathFinder[src]

impl SubClass<Resource> for Texture3D[src]

impl SubClass<Resource> for VisualShaderNodeTransformCompose[src]

impl SubClass<Resource> for VisualScriptSwitch[src]

impl SubClass<Resource> for X509Certificate[src]

impl SubClass<Resource> for GIProbeData[src]

impl SubClass<Resource> for Font[src]

impl SubClass<Resource> for MeshTexture[src]

impl SubClass<Resource> for SphereMesh[src]

impl SubClass<Resource> for VideoStreamGDNative[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.