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

impl SubClass<Resource> for InputEventScreenTouch[src]

impl SubClass<Resource> for PluginScript[src]

impl SubClass<Resource> for InputEventGesture[src]

impl SubClass<Resource> for AnimationNodeTimeSeek[src]

impl SubClass<Resource> for VisualShaderNodeBooleanUniform[src]

impl SubClass<Resource> for VisualScriptBuiltinFunc[src]

impl SubClass<Resource> for Shader[src]

impl SubClass<Resource> for ArrayMesh[src]

impl SubClass<Resource> for RayShape2D[src]

impl SubClass<Resource> for Material[src]

impl SubClass<Resource> for NativeScript[src]

impl SubClass<Resource> for VisualScriptPreload[src]

impl SubClass<Resource> for VisualShaderNodeVectorLen[src]

impl SubClass<Resource> for VisualShaderNodeVec3Uniform[src]

impl SubClass<Resource> for VisualShaderNodeSwitch[src]

impl SubClass<Resource> for VisualShaderNodeScalarConstant[src]

impl SubClass<Resource> for VisualShaderNodeGlobalExpression[src]

impl SubClass<Resource> for GDScript[src]

impl SubClass<Resource> for Skin[src]

impl SubClass<Resource> for VisualShaderNodeScalarClamp[src]

impl SubClass<Resource> for AudioStreamRandomPitch[src]

impl SubClass<Resource> for AudioEffectDelay[src]

impl SubClass<Resource> for AudioEffectStereoEnhance[src]

impl SubClass<Resource> for StyleBoxFlat[src]

impl SubClass<Resource> for InputEventPanGesture[src]

impl SubClass<Resource> for TileSet[src]

impl SubClass<Resource> for VisualScriptComment[src]

impl SubClass<Resource> for VisualShaderNodeFresnel[src]

impl SubClass<Resource> for VisualScriptMathConstant[src]

impl SubClass<Resource> for Sky[src]

impl SubClass<Resource> for VisualScriptWhile[src]

impl SubClass<Resource> for AnimationNodeBlendTree[src]

impl SubClass<Resource> for LineShape2D[src]

impl SubClass<Resource> for CapsuleShape2D[src]

impl SubClass<Resource> for VisualScriptClassConstant[src]

impl SubClass<Resource> for AnimationNodeStateMachine[src]

impl SubClass<Resource> for CylinderMesh[src]

impl SubClass<Resource> for PanoramaSky[src]

impl SubClass<Resource> for VisualScriptSwitch[src]

impl SubClass<Resource> for DynamicFont[src]

impl SubClass<Resource> for PlaneMesh[src]

impl SubClass<Resource> for NoiseTexture[src]

impl SubClass<Resource> for AudioEffectAmplify[src]

impl SubClass<Resource> for Script[src]

impl SubClass<Resource> for AudioEffectPhaser[src]

impl SubClass<Resource> for VisualScriptComposeArray[src]

impl SubClass<Resource> for CylinderShape[src]

impl SubClass<Resource> for CapsuleShape[src]

impl SubClass<Resource> for VisualScriptDeconstruct[src]

impl SubClass<Resource> for PolygonPathFinder[src]

impl SubClass<Resource> for VisualShaderNodeBooleanConstant[src]

impl SubClass<Resource> for VisualScriptCondition[src]

impl SubClass<Resource> for VisualShaderNodeExpression[src]

impl SubClass<Resource> for AudioEffectPanner[src]

impl SubClass<Resource> for MultiMesh[src]

impl SubClass<Resource> for AudioEffectReverb[src]

impl SubClass<Resource> for MeshTexture[src]

impl SubClass<Resource> for VisualShaderNode[src]

impl SubClass<Resource> for AudioEffectNotchFilter[src]

impl SubClass<Resource> for InputEventJoypadMotion[src]

impl SubClass<Resource> for ButtonGroup[src]

impl SubClass<Resource> for VisualScriptPropertyGet[src]

impl SubClass<Resource> for ConcavePolygonShape[src]

impl SubClass<Resource> for VisualScript[src]

impl SubClass<Resource> for VisualShaderNodeDeterminant[src]

impl SubClass<Resource> for VisualShaderNodeUniform[src]

impl SubClass<Resource> for OpenSimplexNoise[src]

impl SubClass<Resource> for ImageTexture[src]

impl SubClass<Resource> for ParticlesMaterial[src]

impl SubClass<Resource> for VisualScriptVariableSet[src]

impl SubClass<Resource> for VisualShaderNodeColorUniform[src]

impl SubClass<Resource> for CanvasItemMaterial[src]

impl SubClass<Resource> for BoxShape[src]

impl SubClass<Resource> for AnimationNodeStateMachineTransition[src]

impl SubClass<Resource> for ConvexPolygonShape2D[src]

impl SubClass<Resource> for AudioEffectBandLimitFilter[src]

impl SubClass<Resource> for Shape2D[src]

impl SubClass<Resource> for VisualScriptSequence[src]

impl SubClass<Resource> for AudioEffectPitchShift[src]

impl SubClass<Resource> for PlaneShape[src]

impl SubClass<Resource> for AudioStreamSample[src]

impl SubClass<Resource> for InputEventMouse[src]

impl SubClass<Resource> for AudioEffectEQ[src]

impl SubClass<Resource> for CryptoKey[src]

impl SubClass<Resource> for StyleBoxTexture[src]

impl SubClass<Resource> for Theme[src]

impl SubClass<Resource> for AudioEffectBandPassFilter[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniformTriplanar[src]

impl SubClass<Resource> for VisualShaderNodeScalarDerivativeFunc[src]

impl SubClass<Resource> for VisualShaderNodeOuterProduct[src]

impl SubClass<Resource> for TextFile[src]

impl SubClass<Resource> for AudioEffectEQ10[src]

impl SubClass<Resource> for Translation[src]

impl SubClass<Resource> for ProceduralSky[src]

impl SubClass<Resource> for ConcavePolygonShape2D[src]

impl SubClass<Resource> for VisualShaderNodeVectorCompose[src]

impl SubClass<Resource> for InputEventKey[src]

impl SubClass<Resource> for BitmapFont[src]

impl SubClass<Resource> for SpriteFrames[src]

impl SubClass<Resource> for VisualShaderNodeIs[src]

impl SubClass<Resource> for NavigationMesh[src]

impl SubClass<Resource> for StyleBoxEmpty[src]

impl SubClass<Resource> for World2D[src]

impl SubClass<Resource> for VisualShaderNodeTransformFunc[src]

impl SubClass<Resource> for VisualShaderNodeCubeMapUniform[src]

impl SubClass<Resource> for VisualShaderNodeColorConstant[src]

impl SubClass<Resource> for AudioEffectDistortion[src]

impl SubClass<Resource> for PointMesh[src]

impl SubClass<Resource> for VisualShaderNodeTexture[src]

impl SubClass<Resource> for VisualScriptNode[src]

impl SubClass<Resource> for AudioEffectChorus[src]

impl SubClass<Resource> for Texture3D[src]

impl SubClass<Resource> for VisualScriptVariableGet[src]

impl SubClass<Resource> for BakedLightmapData[src]

impl SubClass<Resource> for AudioEffectHighShelfFilter[src]

impl SubClass<Resource> for InputEventWithModifiers[src]

impl SubClass<Resource> for EditorSettings[src]

impl SubClass<Resource> for VisualShaderNodeTextureUniform[src]

impl SubClass<Resource> for AudioEffectRecord[src]

impl SubClass<Resource> for SegmentShape2D[src]

impl SubClass<Resource> for Image[src]

impl SubClass<Resource> for VideoStreamWebm[src]

impl SubClass<Resource> for CircleShape2D[src]

impl SubClass<Resource> for Texture[src]

impl SubClass<Resource> for AnimationNodeTimeScale[src]

impl SubClass<Resource> for VisualShaderNodeColorOp[src]

impl SubClass<Resource> for X509Certificate[src]

impl SubClass<Resource> for PackedScene[src]

impl SubClass<Resource> for VisualScriptIndexSet[src]

impl SubClass<Resource> for DynamicFontData[src]

impl SubClass<Resource> for ShortCut[src]

impl SubClass<Resource> for ConvexPolygonShape[src]

impl SubClass<Resource> for VisualScriptLocalVarSet[src]

impl SubClass<Resource> for VisualScriptConstant[src]

impl SubClass<Resource> for VisualScriptSubCall[src]

impl SubClass<Resource> for AtlasTexture[src]

impl SubClass<Resource> for Animation[src]

impl SubClass<Resource> for EditorSpatialGizmoPlugin[src]

impl SubClass<Resource> for InputEventMouseButton[src]

impl SubClass<Resource> for AnimationNodeBlendSpace1D[src]

impl SubClass<Resource> for RectangleShape2D[src]

impl SubClass<Resource> for VisualShaderNodeScalarFunc[src]

impl SubClass<Resource> for AudioEffectFilter[src]

impl SubClass<Resource> for InputEventAction[src]

impl SubClass<Resource> for AnimationRootNode[src]

impl SubClass<Resource> for AnimationNodeAdd3[src]

impl SubClass<Resource> for AudioStreamMicrophone[src]

impl SubClass<Resource> for SphereMesh[src]

impl SubClass<Resource> for VisualShaderNodeCompare[src]

impl SubClass<Resource> for Curve2D[src]

impl SubClass<Resource> for Font[src]

impl SubClass<Resource> for RichTextEffect[src]

impl SubClass<Resource> for GradientTexture[src]

impl SubClass<Resource> for LargeTexture[src]

impl SubClass<Resource> for CameraTexture[src]

impl SubClass<Resource> for PrimitiveMesh[src]

impl SubClass<Resource> for AudioEffectLowPassFilter[src]

impl SubClass<Resource> for VisualShaderNodeVectorRefract[src]

impl SubClass<Resource> for VisualShaderNodeTransformConstant[src]

impl SubClass<Resource> for CurveTexture[src]

impl SubClass<Resource> for VisualShaderNodeScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeCubeMap[src]

impl SubClass<Resource> for VisualScriptReturn[src]

impl SubClass<Resource> for QuadMesh[src]

impl SubClass<Resource> for HeightMapShape[src]

impl SubClass<Resource> for VisualScriptExpression[src]

impl SubClass<Resource> for Curve3D[src]

impl SubClass<Resource> for VisualScriptSceneNode[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarSmoothStep[src]

impl SubClass<Resource> for VisualShaderNodeScalarSwitch[src]

impl SubClass<Resource> for VideoStream[src]

impl SubClass<Resource> for VisualScriptGlobalConstant[src]

impl SubClass<Resource> for SphereShape[src]

impl SubClass<Resource> for VisualScriptConstructor[src]

impl SubClass<Resource> for VisualScriptIndexGet[src]

impl SubClass<Resource> for AnimatedTexture[src]

impl SubClass<Resource> for AnimationNodeStateMachinePlayback[src]

impl SubClass<Resource> for VisualShaderNodeVectorDistance[src]

impl SubClass<Resource> for VisualScriptInputAction[src]

impl SubClass<Resource> for VisualScriptSelf[src]

impl SubClass<Resource> for ShaderMaterial[src]

impl SubClass<Resource> for VisualShaderNodeVectorDecompose[src]

impl SubClass<Resource> for AudioBusLayout[src]

impl SubClass<Resource> for VisualScriptFunctionCall[src]

impl SubClass<Resource> for VideoStreamGDNative[src]

impl SubClass<Resource> for AudioEffectLimiter[src]

impl SubClass<Resource> for AudioStream[src]

impl SubClass<Resource> for VisualScriptSceneTree[src]

impl SubClass<Resource> for StyleBox[src]

impl SubClass<Resource> for VisualScriptPropertySet[src]

impl SubClass<Resource> for AnimationNodeBlend3[src]

impl SubClass<Resource> for Shape[src]

impl SubClass<Resource> for VisualScriptYield[src]

impl SubClass<Resource> for CubeMesh[src]

impl SubClass<Resource> for VisualShaderNodeDotProduct[src]

impl SubClass<Resource> for VisualShaderNodeVectorDerivativeFunc[src]

impl SubClass<Resource> for VisualShaderNodeTransformVecMult[src]

impl SubClass<Resource> for BitMap[src]

impl SubClass<Resource> for InputEventJoypadButton[src]

impl SubClass<Resource> for AnimationNodeTransition[src]

impl SubClass<Resource> for AudioEffectSpectrumAnalyzer[src]

impl SubClass<Resource> for PHashTranslation[src]

impl SubClass<Resource> for TextureArray[src]

impl SubClass<Resource> for VisualShaderNodeTransformUniform[src]

impl SubClass<Resource> for Environment[src]

impl SubClass<Resource> for InputEventScreenDrag[src]

impl SubClass<Resource> for MeshLibrary[src]

impl SubClass<Resource> for VisualScriptLists[src]

impl SubClass<Resource> for VisualScriptSelect[src]

impl SubClass<Resource> for VisualScriptFunction[src]

impl SubClass<Resource> for VisualShaderNodeScalarOp[src]

impl SubClass<Resource> for VisualScriptResourcePath[src]

impl SubClass<Resource> for VisualScriptBasicTypeConstant[src]

impl SubClass<Resource> for Mesh[src]

impl SubClass<Resource> for AudioEffectLowShelfFilter[src]

impl SubClass<Resource> for VisualShaderNodeCustom[src]

impl SubClass<Resource> for CapsuleMesh[src]

impl SubClass<Resource> for VisualScriptOperator[src]

impl SubClass<Resource> for InputEventMagnifyGesture[src]

impl SubClass<Resource> for AudioStreamOGGVorbis[src]

impl SubClass<Resource> for Curve[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarStep[src]

impl SubClass<Resource> for VisualScriptEngineSingleton[src]

impl SubClass<Resource> for GIProbeData[src]

impl SubClass<Resource> for VisualShaderNodeGroupBase[src]

impl SubClass<Resource> for VisualShaderNodeVectorClamp[src]

impl SubClass<Resource> for GDNativeLibrary[src]

impl SubClass<Resource> for VisualShaderNodeScalarInterp[src]

impl SubClass<Resource> for StreamTexture[src]

impl SubClass<Resource> for VisualScriptCustomNode[src]

impl SubClass<Resource> for AnimationNode[src]

impl SubClass<Resource> for PackedDataContainer[src]

impl SubClass<Resource> for World[src]

impl SubClass<Resource> for VisualShaderNodeVectorSmoothStep[src]

impl SubClass<Resource> for InputEventMouseMotion[src]

impl SubClass<Resource> for AnimationNodeBlendSpace2D[src]

impl SubClass<Resource> for ViewportTexture[src]

impl SubClass<Resource> for RayShape[src]

impl SubClass<Resource> for VisualScriptLocalVar[src]

impl SubClass<Resource> for AnimationNodeOneShot[src]

impl SubClass<Resource> for VisualShaderNodeTransformDecompose[src]

impl SubClass<Resource> for StyleBoxLine[src]

impl SubClass<Resource> for ProxyTexture[src]

impl SubClass<Resource> for VisualScriptYieldSignal[src]

impl SubClass<Resource> for VisualShaderNodeVec3Constant[src]

impl SubClass<Resource> for VisualShaderNodeScalarUniform[src]

impl SubClass<Resource> for AudioEffectHighPassFilter[src]

impl SubClass<Resource> for ExternalTexture[src]

impl SubClass<Resource> for AudioEffectCompressor[src]

impl SubClass<Resource> for VisualShaderNodeColorFunc[src]

impl SubClass<Resource> for InputEvent[src]

impl SubClass<Resource> for VideoStreamTheora[src]

impl SubClass<Resource> for VisualShaderNodeOutput[src]

impl SubClass<Resource> for CubeMap[src]

impl SubClass<Resource> for VisualShaderNodeFaceForward[src]

impl SubClass<Resource> for PhysicsMaterial[src]

impl SubClass<Resource> for Gradient[src]

impl SubClass<Resource> for VisualScriptIterator[src]

impl SubClass<Resource> for AnimationNodeAdd2[src]

impl SubClass<Resource> for AudioEffect[src]

impl SubClass<Resource> for VisualShaderNodeIf[src]

impl SubClass<Resource> for SpatialMaterial[src]

impl SubClass<Resource> for AnimationNodeAnimation[src]

impl SubClass<Resource> for InputEventMIDI[src]

impl SubClass<Resource> for VisualShaderNodeTransformCompose[src]

impl SubClass<Resource> for VisualShader[src]

impl SubClass<Resource> for AudioStreamGenerator[src]

impl SubClass<Resource> for AnimationNodeBlend2[src]

impl SubClass<Resource> for VisualShaderNodeVectorScalarMix[src]

impl SubClass<Resource> for PrismMesh[src]

impl SubClass<Resource> for VisualScriptTypeCast[src]

impl SubClass<Resource> for NavigationPolygon[src]

impl SubClass<Resource> for OccluderPolygon2D[src]

impl SubClass<Resource> for AudioEffectEQ6[src]

impl SubClass<Resource> for AudioEffectEQ21[src]

impl SubClass<Resource> for VisualShaderNodeInput[src]

impl SubClass<Resource> for VisualShaderNodeVectorOp[src]

impl SubClass<Resource> for VisualShaderNodeTransformMult[src]

impl SubClass<Resource> for TextureLayered[src]

impl SubClass<Resource> for VisualScriptEmitSignal[src]

impl SubClass<Resource> for VisualShaderNodeVectorFunc[src]

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