Script

Наследует: Resource < RefCounted < Object

Наследуется от: CSharpScript, GDScript, ScriptExtension

Класс, хранящийся как ресурс.

Описание

Класс, хранящийся как ресурс. Скрипт расширяет функциональность всех объектов, которые его инстанцируют.

Это базовый класс для всех скриптов, и его не следует использовать напрямую. Попытка создать новый скрипт с этим классом приведет к ошибке.

Метод new подкласса скрипта создает новый экземпляр. Object.set_script() расширяет существующий объект, если класс этого объекта соответствует одному из базовых классов скрипта.

Обучающие материалы

Свойства

String

source_code

Методы

bool

can_instantiate() const

Script

get_base_script() const

StringName

get_global_name() const

StringName

get_instance_base_type() const

Variant

get_property_default_value(property: StringName)

Variant

get_rpc_config() const

Dictionary

get_script_constant_map()

Array[Dictionary]

get_script_method_list()

Array[Dictionary]

get_script_property_list()

Array[Dictionary]

get_script_signal_list()

bool

has_script_signal(signal_name: StringName) const

bool

has_source_code() const

bool

instance_has(base_object: Object) const

bool

is_abstract() const

bool

is_tool() const

Error

reload(keep_state: bool = false)


Описания свойств

String source_code 🔗

  • void set_source_code(value: String)

  • String get_source_code()

Исходный код скрипта или пустая строка, если исходный код недоступен. Если установлено, реализация класса не перезагружается автоматически.


Описания метода

bool can_instantiate() const 🔗

Возвращает true, если скрипт может быть создан.


Script get_base_script() const 🔗

Возвращает скрипт, напрямую унаследованный данным скриптом.


StringName get_global_name() const 🔗

Возвращает имя класса, связанного со скриптом, если оно есть. В противном случае возвращает пустую строку.

Чтобы дать скрипту глобальное имя, можно использовать ключевое слово class_name в GDScript и атрибут [GlobalClass] в C#.

class_name MyNode
extends Node

StringName get_instance_base_type() const 🔗

Возвращает базовый тип скрипта.


Variant get_property_default_value(property: StringName) 🔗

Возвращает значение по умолчанию указанного свойства.


Variant get_rpc_config() const 🔗

Возвращает Dictionary, сопоставляющий имена методов с их конфигурацией RPC, определенной этим скриптом.


Dictionary get_script_constant_map() 🔗

Возвращает словарь, содержащий имена констант и их значения.


Array[Dictionary] get_script_method_list() 🔗

Возвращает список методов в этом Script.

Примечание: Словари, возвращаемые этим методом, отформатированы так же, как и возвращаемые Object.get_method_list().


Array[Dictionary] get_script_property_list() 🔗

Возвращает список свойств в этом Script.

Примечание: Словари, возвращаемые этим методом, отформатированы так же, как и возвращаемые Object.get_property_list().


Array[Dictionary] get_script_signal_list() 🔗

Returns the list of signals defined in this Script.

Note: The dictionaries returned by this method are formatted identically to those returned by Object.get_signal_list().


bool has_script_signal(signal_name: StringName) const 🔗

Возвращает true, если скрипт или базовый класс определяет сигнал с указанным именем.


bool has_source_code() const 🔗

Возвращает true, если скрипт содержит непустой исходный код.

Примечание: Если у скрипта нет исходного кода, это не означает, что он недействителен или непригоден для использования. Например, GDScript, который был экспортирован с помощью бинарной токенизации, не имеет исходного кода, но все равно ведет себя так, как ожидалось, и может быть инстанцирован. Это можно проверить с помощью can_instantiate().


bool instance_has(base_object: Object) const 🔗

Возвращает true, если base_object является экземпляром этого скрипта.


bool is_abstract() const 🔗

Возвращает true, если скрипт является абстрактным. Абстрактный скрипт не имеет конструктора и не может быть создан.


bool is_tool() const 🔗

Возвращает true, если скрипт является скриптом инструмента. Скрипт инструмента может быть запущен в редакторе.


Error reload(keep_state: bool = false) 🔗

Перезагружает реализацию класса скрипта. Возвращает код ошибки.