Script

继承: Resource < RefCounted < Object

派生: CSharpScript, GDScript, ScriptExtension

A class stored as a resource.

描述

A class stored as a resource. A script extends the functionality of all objects that instantiate it.

This is the base class for all scripts and should not be used directly. Trying to create a new script with this class will result in an error.

The new method of a script subclass creates a new instance. Object.set_script extends an existing object, if that object's class matches one of the script's base classes.

属性

方法


属性说明

String source_code

  • void set_source_code ( value: String )
  • String get_source_code ( )

The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically.


方法说明

bool can_instantiate ( ) const1

Returns true if the script can be instantiated.


Script get_base_script ( ) const1

Returns the script directly inherited by this script.


StringName get_global_name ( ) const1

Returns the class name associated with the script, if there is one. Returns an empty string otherwise.

To give the script a global name, you can use the class_name keyword in GDScript and the [GlobalClass] attribute in C#.


    class_name MyNode
    extends Node

    using Godot;
    
    [GlobalClass]
    public partial class MyNode : Node
    {
    }

StringName get_instance_base_type ( ) const1

Returns the script's base type.


Variant get_property_default_value ( property: StringName )

Returns the default value of the specified property.


Variant get_rpc_config ( ) const1

Returns a Dictionary mapping method names to their RPC configuration defined by this script.


Dictionary get_script_constant_map ( )

Returns a dictionary containing constant names and their values.


Array Dictionary get_script_method_list ( )

Returns the list of methods in this Script.


Array Dictionary get_script_property_list ( )

Returns the list of properties in this Script.


Array Dictionary get_script_signal_list ( )

Returns the list of user signals defined in this Script.


bool has_script_signal ( signal_name: StringName ) const1

Returns true if the script, or a base class, defines a signal with the given name.


bool has_source_code ( ) const1

Returns true if the script contains non-empty source code.

Note: If a script does not have source code, this does not mean that it is invalid or unusable. For example, a GDScript that was exported with binary tokenization has no source code, but still behaves as expected and could be instantiated. This can be checked with can_instantiate.


bool instance_has ( base_object: Object ) const1

Returns true if base_object is an instance of this script.


bool is_abstract ( ) const1

Returns true if the script is an abstract script. An abstract script does not have a constructor and cannot be instantiated.


bool is_tool ( ) const1

Returns true if the script is a tool script. A tool script can run in the editor.


Error reload ( keep_state: bool = false )

Reloads the script's class implementation. Returns an error code.

2

本方法通常需要用户覆盖才能生效。

1

本方法无副作用,不会修改该实例的任何成员变量。

3

本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。

4

本方法用于构造某个类型。

5

调用本方法无需实例,可直接使用类名进行调用。

6

本方法描述的是使用本类型作为左操作数的有效运算符。

7

这个值是由下列位标志构成位掩码的整数。

8

无返回值。