[][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 ConvexPolygonShape2D[src]

impl SubClass<Resource> for VideoStream[src]

impl SubClass<Resource> for AudioEffectFilter[src]

impl SubClass<Resource> for GIProbeData[src]

impl SubClass<Resource> for VideoStreamWebm[src]

impl SubClass<Resource> for X509Certificate[src]

impl SubClass<Resource> for Translation[src]

impl SubClass<Resource> for AnimationNodeBlendSpace2D[src]

impl SubClass<Resource> for QuadMesh[src]

impl SubClass<Resource> for VisualScriptCustomNode[src]

impl SubClass<Resource> for VisualShaderNode[src]

impl SubClass<Resource> for Gradient[src]

impl SubClass<Resource> for ArrayMesh[src]

impl SubClass<Resource> for VisualScriptLocalVar[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniformTriplanar[src]

impl SubClass<Resource> for VisualShaderNodeGroupBase[src]

impl SubClass<Resource> for Environment[src]

impl SubClass<Resource> for ParticlesMaterial[src]

impl SubClass<Resource> for VisualShaderNodeTransformConstant[src]

impl SubClass<Resource> for AudioEffectEQ10[src]

impl SubClass<Resource> for VisualScriptEmitSignal[src]

impl SubClass<Resource> for VisualShaderNodeColorOp[src]

impl SubClass<Resource> for BakedLightmapData[src]

impl SubClass<Resource> for AudioEffectDelay[src]

impl SubClass<Resource> for AnimationNodeAdd3[src]

impl SubClass<Resource> for PointMesh[src]

impl SubClass<Resource> for VisualScriptIndexGet[src]

impl SubClass<Resource> for StyleBoxFlat[src]

impl SubClass<Resource> for AudioEffectPhaser[src]

impl SubClass<Resource> for AudioEffectRecord[src]

impl SubClass<Resource> for VisualScriptSequence[src]

impl SubClass<Resource> for CapsuleMesh[src]

impl SubClass<Resource> for VisualShaderNodeScalarFunc[src]

impl SubClass<Resource> for TextFile[src]

impl SubClass<Resource> for VisualShaderNodeVectorDistance[src]

impl SubClass<Resource> for VisualScriptMathConstant[src]

impl SubClass<Resource> for InputEventMIDI[src]

impl SubClass<Resource> for AudioEffectEQ21[src]

impl SubClass<Resource> for PHashTranslation[src]

impl SubClass<Resource> for VisualShaderNodeTransformVecMult[src]

impl SubClass<Resource> for SphereMesh[src]

impl SubClass<Resource> for InputEventMouse[src]

impl SubClass<Resource> for CylinderMesh[src]

impl SubClass<Resource> for Image[src]

impl SubClass<Resource> for VisualScriptLocalVarSet[src]

impl SubClass<Resource> for VisualScriptYield[src]

impl SubClass<Resource> for VisualScriptComment[src]

impl SubClass<Resource> for VisualScript[src]

impl SubClass<Resource> for Font[src]

impl SubClass<Resource> for VisualShader[src]

impl SubClass<Resource> for PrimitiveMesh[src]

impl SubClass<Resource> for AnimationNode[src]

impl SubClass<Resource> for VisualScriptClassConstant[src]

impl SubClass<Resource> for ConcavePolygonShape[src]

impl SubClass<Resource> for CubeMap[src]

impl SubClass<Resource> for MultiMesh[src]

impl SubClass<Resource> for AudioEffectEQ[src]

impl SubClass<Resource> for BitmapFont[src]

impl SubClass<Resource> for InputEventJoypadMotion[src]

impl SubClass<Resource> for InputEventScreenDrag[src]

impl SubClass<Resource> for ButtonGroup[src]

impl SubClass<Resource> for AnimationNodeStateMachineTransition[src]

impl SubClass<Resource> for AudioEffectCompressor[src]

impl SubClass<Resource> for BitMap[src]

impl SubClass<Resource> for PrismMesh[src]

impl SubClass<Resource> for Script[src]

impl SubClass<Resource> for StyleBox[src]

impl SubClass<Resource> for VisualScriptConstant[src]

impl SubClass<Resource> for VisualScriptIndexSet[src]

impl SubClass<Resource> for VisualScriptVariableGet[src]

impl SubClass<Resource> for VisualShaderNodeColorFunc[src]

impl SubClass<Resource> for SpriteFrames[src]

impl SubClass<Resource> for VisualShaderNodeDotProduct[src]

impl SubClass<Resource> for VisualShaderNodeExpression[src]

impl SubClass<Resource> for VisualShaderNodeTransformFunc[src]

impl SubClass<Resource> for VisualShaderNodeTransformUniform[src]

impl SubClass<Resource> for SegmentShape2D[src]

impl SubClass<Resource> for ProxyTexture[src]

impl SubClass<Resource> for RayShape[src]

impl SubClass<Resource> for Mesh[src]

impl SubClass<Resource> for VisualScriptYieldSignal[src]

impl SubClass<Resource> for VisualScriptSceneNode[src]

impl SubClass<Resource> for VisualShaderNodeCubeMapUniform[src]

impl SubClass<Resource> for VisualShaderNodeTransformCompose[src]

impl SubClass<Resource> for CubeMesh[src]

impl SubClass<Resource> for VisualShaderNodeScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeOuterProduct[src]

impl SubClass<Resource> for ExternalTexture[src]

impl SubClass<Resource> for InputEventGesture[src]

impl SubClass<Resource> for VisualScriptLists[src]

impl SubClass<Resource> for AudioEffectPanner[src]

impl SubClass<Resource> for VisualShaderNodeScalarConstant[src]

impl SubClass<Resource> for VisualShaderNodeScalarInterp[src]

impl SubClass<Resource> for AtlasTexture[src]

impl SubClass<Resource> for AnimationNodeAdd2[src]

impl SubClass<Resource> for EditorSpatialGizmoPlugin[src]

impl SubClass<Resource> for OccluderPolygon2D[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarStep[src]

impl SubClass<Resource> for TextureArray[src]

impl SubClass<Resource> for VisualScriptBuiltinFunc[src]

impl SubClass<Resource> for VisualShaderNodeColorConstant[src]

impl SubClass<Resource> for VisualScriptConstructor[src]

impl SubClass<Resource> for AudioStreamOGGVorbis[src]

impl SubClass<Resource> for VisualShaderNodeInput[src]

impl SubClass<Resource> for World2D[src]

impl SubClass<Resource> for CircleShape2D[src]

impl SubClass<Resource> for PluginScript[src]

impl SubClass<Resource> for GradientTexture[src]

impl SubClass<Resource> for VisualShaderNodeVectorLen[src]

impl SubClass<Resource> for VisualScriptIterator[src]

impl SubClass<Resource> for VisualShaderNodeScalarDerivativeFunc[src]

impl SubClass<Resource> for AudioEffectChorus[src]

impl SubClass<Resource> for Animation[src]

impl SubClass<Resource> for VisualShaderNodeVectorClamp[src]

impl SubClass<Resource> for AudioEffectBandPassFilter[src]

impl SubClass<Resource> for MeshLibrary[src]

impl SubClass<Resource> for PanoramaSky[src]

impl SubClass<Resource> for AudioEffectDistortion[src]

impl SubClass<Resource> for VisualShaderNodeOutput[src]

impl SubClass<Resource> for BoxShape[src]

impl SubClass<Resource> for LineShape2D[src]

impl SubClass<Resource> for AudioStreamMicrophone[src]

impl SubClass<Resource> for InputEventWithModifiers[src]

impl SubClass<Resource> for AudioBusLayout[src]

impl SubClass<Resource> for AudioEffectAmplify[src]

impl SubClass<Resource> for Theme[src]

impl SubClass<Resource> for VisualShaderNodeFaceForward[src]

impl SubClass<Resource> for CurveTexture[src]

impl SubClass<Resource> for VisualShaderNodeVectorOp[src]

impl SubClass<Resource> for ProceduralSky[src]

impl SubClass<Resource> for VisualShaderNodeBooleanUniform[src]

impl SubClass<Resource> for VisualScriptEngineSingleton[src]

impl SubClass<Resource> for GDNativeLibrary[src]

impl SubClass<Resource> for VisualShaderNodeIs[src]

impl SubClass<Resource> for Texture[src]

impl SubClass<Resource> for Shape2D[src]

impl SubClass<Resource> for CapsuleShape2D[src]

impl SubClass<Resource> for VisualScriptDeconstruct[src]

impl SubClass<Resource> for StyleBoxLine[src]

impl SubClass<Resource> for VisualShaderNodeVectorDecompose[src]

impl SubClass<Resource> for AudioEffectPitchShift[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniform[src]

impl SubClass<Resource> for StyleBoxTexture[src]

impl SubClass<Resource> for SphereShape[src]

impl SubClass<Resource> for PolygonPathFinder[src]

impl SubClass<Resource> for AudioEffectEQ6[src]

impl SubClass<Resource> for Shape[src]

impl SubClass<Resource> for ConvexPolygonShape[src]

impl SubClass<Resource> for VisualScriptSceneTree[src]

impl SubClass<Resource> for VisualShaderNodeFresnel[src]

impl SubClass<Resource> for ConcavePolygonShape2D[src]

impl SubClass<Resource> for VisualScriptCondition[src]

impl SubClass<Resource> for CapsuleShape[src]

impl SubClass<Resource> for VisualShaderNodeVectorInterp[src]

impl SubClass<Resource> for AnimationNodeStateMachine[src]

impl SubClass<Resource> for VisualScriptSwitch[src]

impl SubClass<Resource> for CameraTexture[src]

impl SubClass<Resource> for AnimationNodeBlend3[src]

impl SubClass<Resource> for AudioEffectHighPassFilter[src]

impl SubClass<Resource> for PackedDataContainer[src]

impl SubClass<Resource> for VisualScriptGlobalConstant[src]

impl SubClass<Resource> for VisualShaderNodeSwitch[src]

impl SubClass<Resource> for VisualScriptWhile[src]

impl SubClass<Resource> for Curve3D[src]

impl SubClass<Resource> for Texture3D[src]

impl SubClass<Resource> for VideoStreamTheora[src]

impl SubClass<Resource> for VisualScriptBasicTypeConstant[src]

impl SubClass<Resource> for AudioEffectBandLimitFilter[src]

impl SubClass<Resource> for AudioEffectSpectrumAnalyzer[src]

impl SubClass<Resource> for CanvasItemMaterial[src]

impl SubClass<Resource> for AnimationNodeStateMachinePlayback[src]

impl SubClass<Resource> for ViewportTexture[src]

impl SubClass<Resource> for VisualShaderNodeScalarUniform[src]

impl SubClass<Resource> for AnimationNodeOneShot[src]

impl SubClass<Resource> for NavigationMesh[src]

impl SubClass<Resource> for InputEventJoypadButton[src]

impl SubClass<Resource> for OpenSimplexNoise[src]

impl SubClass<Resource> for VisualScriptPreload[src]

impl SubClass<Resource> for AnimationNodeBlend2[src]

impl SubClass<Resource> for VisualScriptResourcePath[src]

impl SubClass<Resource> for VisualScriptInputAction[src]

impl SubClass<Resource> for AnimationNodeTimeScale[src]

impl SubClass<Resource> for RichTextEffect[src]

impl SubClass<Resource> for SpatialMaterial[src]

impl SubClass<Resource> for AudioEffectReverb[src]

impl SubClass<Resource> for RayShape2D[src]

impl SubClass<Resource> for AudioStreamSample[src]

impl SubClass<Resource> for RectangleShape2D[src]

impl SubClass<Resource> for TileSet[src]

impl SubClass<Resource> for VisualShaderNodeColorUniform[src]

impl SubClass<Resource> for VisualShaderNodeVectorDerivativeFunc[src]

impl SubClass<Resource> for VisualScriptExpression[src]

impl SubClass<Resource> for InputEventScreenTouch[src]

impl SubClass<Resource> for GDScript[src]

impl SubClass<Resource> for VisualScriptSubCall[src]

impl SubClass<Resource> for VisualShaderNodeTexture[src]

impl SubClass<Resource> for Curve2D[src]

impl SubClass<Resource> for DynamicFont[src]

impl SubClass<Resource> for VisualShaderNodeVectorRefract[src]

impl SubClass<Resource> for MeshTexture[src]

impl SubClass<Resource> for VisualShaderNodeScalarClamp[src]

impl SubClass<Resource> for AudioEffectStereoEnhance[src]

impl SubClass<Resource> for ShaderMaterial[src]

impl SubClass<Resource> for InputEvent[src]

impl SubClass<Resource> for InputEventMagnifyGesture[src]

impl SubClass<Resource> for CryptoKey[src]

impl SubClass<Resource> for AudioEffectHighShelfFilter[src]

impl SubClass<Resource> for AudioEffectLowShelfFilter[src]

impl SubClass<Resource> for World[src]

impl SubClass<Resource> for VisualShaderNodeUniform[src]

impl SubClass<Resource> for VisualScriptFunctionCall[src]

impl SubClass<Resource> for VisualShaderNodeTransformDecompose[src]

impl SubClass<Resource> for AnimationNodeOutput[src]

impl SubClass<Resource> for AudioEffectNotchFilter[src]

impl SubClass<Resource> for VisualScriptTypeCast[src]

impl SubClass<Resource> for AudioEffectLowPassFilter[src]

impl SubClass<Resource> for VisualShaderNodeBooleanConstant[src]

impl SubClass<Resource> for AudioStreamRandomPitch[src]

impl SubClass<Resource> for VisualScriptSelect[src]

impl SubClass<Resource> for TextureLayered[src]

impl SubClass<Resource> for VisualScriptReturn[src]

impl SubClass<Resource> for VisualShaderNodeVec3Uniform[src]

impl SubClass<Resource> for InputEventKey[src]

impl SubClass<Resource> for Skin[src]

impl SubClass<Resource> for Curve[src]

impl SubClass<Resource> for VisualScriptPropertyGet[src]

impl SubClass<Resource> for VisualShaderNodeVectorCompose[src]

impl SubClass<Resource> for VisualShaderNodeVectorFunc[src]

impl SubClass<Resource> for LargeTexture[src]

impl SubClass<Resource> for VisualShaderNodeGlobalExpression[src]

impl SubClass<Resource> for VisualShaderNodeScalarOp[src]

impl SubClass<Resource> for PhysicsMaterial[src]

impl SubClass<Resource> for AnimatedTexture[src]

impl SubClass<Resource> for StyleBoxEmpty[src]

impl SubClass<Resource> for AnimationNodeBlendSpace1D[src]

impl SubClass<Resource> for AnimationNodeAnimation[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarMix[src]

impl SubClass<Resource> for NativeScript[src]

impl SubClass<Resource> for AudioStream[src]

impl SubClass<Resource> for Material[src]

impl SubClass<Resource> for NoiseTexture[src]

impl SubClass<Resource> for VisualScriptPropertySet[src]

impl SubClass<Resource> for HeightMapShape[src]

impl SubClass<Resource> for VideoStreamGDNative[src]

impl SubClass<Resource> for ShortCut[src]

impl SubClass<Resource> for VisualShaderNodeIf[src]

impl SubClass<Resource> for ImageTexture[src]

impl SubClass<Resource> for VisualShaderNodeDeterminant[src]

impl SubClass<Resource> for VisualScriptVariableSet[src]

impl SubClass<Resource> for NavigationPolygon[src]

impl SubClass<Resource> for AnimationNodeTimeSeek[src]

impl SubClass<Resource> for VisualShaderNodeScalarSwitch[src]

impl SubClass<Resource> for PlaneShape[src]

impl SubClass<Resource> for AudioEffect[src]

impl SubClass<Resource> for VisualShaderNodeTransformMult[src]

impl SubClass<Resource> for InputEventMouseMotion[src]

impl SubClass<Resource> for InputEventAction[src]

impl SubClass<Resource> for InputEventPanGesture[src]

impl SubClass<Resource> for AnimationNodeBlendTree[src]

impl SubClass<Resource> for AudioStreamGenerator[src]

impl SubClass<Resource> for VisualScriptSelf[src]

impl SubClass<Resource> for PackedScene[src]

impl SubClass<Resource> for AnimationRootNode[src]

impl SubClass<Resource> for VisualShaderNodeCubeMap[src]

impl SubClass<Resource> for InputEventMouseButton[src]

impl SubClass<Resource> for EditorSettings[src]

impl SubClass<Resource> for Sky[src]

impl SubClass<Resource> for VisualScriptNode[src]

impl SubClass<Resource> for StreamTexture[src]

impl SubClass<Resource> for VisualShaderNodeCompare[src]

impl SubClass<Resource> for AnimationNodeTransition[src]

impl SubClass<Resource> for VisualScriptFunction[src]

impl SubClass<Resource> for Shader[src]

impl SubClass<Resource> for VisualScriptOperator[src]

impl SubClass<Resource> for VisualShaderNodeCustom[src]

impl SubClass<Resource> for VisualShaderNodeVectorSmoothStep[src]

impl SubClass<Resource> for VisualScriptComposeArray[src]

impl SubClass<Resource> for CylinderShape[src]

impl SubClass<Resource> for AudioEffectLimiter[src]

impl SubClass<Resource> for VisualShaderNodeVec3Constant[src]

impl SubClass<Resource> for PlaneMesh[src]

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