엔티티에 스크립팅 지원을 추가하는 구성요소입니다.
예제 스크립트입니다. 스크립트 파일은 이름 필드가 있는 테이블을 반환해야 합니다.
CustomBehaviour = CustomBehaviour or { name = "mybehaviour" } -- Callback triggered when one or more entity has spawned -- Instances is an interleaved list of entities and component instances, i.e [e1, c1, e1, c2, e2, c1, ...]. function CustomBehaviour.spawned(instances, world) end -- Callback triggered when one or more entity has unspawned function CustomBehaviour.unspawned(instances, world) end -- Callback triggered when calling stingray.ScriptComponent.update(deltatime) function CustomBehaviour.update(deltatime, world) end return CustomBehaviour
생성자 및 액세서
기타 관련 참조 항목
![]() |
broadcast ( self, function_name )![]() 모든 스크립트에서 지정된 함수가 정의된 경우 호출합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
function_name : | string | 호출할 함수의 이름입니다. |
이 함수는 아무 값도 반환하지 않습니다. |
모든 스크립트에서 모든 업데이트 기능을 트리거하기 위해 게임 루프에서 일반적으로 사용됩니다.
![]() |
create ( self, entity, id ) : integer![]() 지정된 구성요소 ID를 사용하여 엔티티의 구성요소 인스턴스를 만듭니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 엔티티입니다. | |
id : | any(integer, string) | 구성요소 ID입니다. any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다. |
integer |
구성요소 인스턴스입니다. |
![]() |
destroy ( self, instance )![]() 엔티티의 특정 구성요소 인스턴스를 삭제합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
instance : | integer | 삭제할 구성요소 인스턴스입니다. |
이 함수는 아무 값도 반환하지 않습니다. |
![]() |
destroy_all ( self, entity )![]() 엔티티의 모든 구성요소 인스턴스를 삭제합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 모든 구성요소 인스턴스를 삭제할 엔티티입니다. |
이 함수는 아무 값도 반환하지 않습니다. |
![]() |
dispatch ( self, function_name, instances )![]() 지정된 인스턴스와 관련된 스크립트에서 지정된 함수가 정의된 경우 호출합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
instances : | table | 엔티티와 구성요소 인스턴스 id(예: [e1, c1, e1, c2, e2, c1, ...])의 선택적 인터리브된 목록입니다. |
function_name : | string | 호출할 함수의 이름입니다. |
이 함수는 아무 값도 반환하지 않습니다. |
![]() |
entities_with_script ( self, script_name ) : stingray.Entity[]![]() 지정된 스크립트 이름에 연결된 모든 엔티티를 반환합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
script_name : | string | 스크립트 이름입니다. |
스크립트 이름에 연결된 엔티티의 어레이입니다. [] 표기는 이 유형이 어레이임을 나타냅니다. 어레이는 구성원의 키가 순차적인 정수이며, 각 요소의 값이 표시된 유형의 인스턴스인 테이블입니다. |
기타 관련 참조 항목
![]() |
get_property ( self, instance, key ) : any*![]() 특성 키의 값을 가져옵니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
instance : | integer | 구성요소 인스턴스입니다. |
key : | any(string, string[]) | 값을 가져오려는 특성의 키입니다. any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다. |
any* |
키의 값입니다. * 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다. |
키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.
값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 하나가 됩니다.
부동 소수점 어레이는 다중 반환값으로 반환됩니다. 테이블 또는 Vector3로 반환되길 원한다면 래퍼를 사용하십시오.
키가 존재하지 않으면 nil이 반환됩니다.
![]() |
get_property_by_id ( self, entity, id, key ) : any*![]() 지정된 ID와 일치하는 구성요소 인스턴스의 특성 값을 가져옵니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 엔티티입니다. | |
id : | integer | 구성요소 인스턴스 ID입니다. |
key : | any(string, string[]) | 값을 가져오려는 특성의 키입니다. any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다. |
any* |
키의 값입니다. * 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다. |
키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.
값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 하나가 됩니다.
부동 소수점 어레이는 다중 반환값으로 반환됩니다. 테이블 또는 Vector3로 반환되길 원한다면 래퍼를 사용하십시오.
키가 존재하지 않으면 nil이 반환됩니다.
이 함수를 호출하면 지정된 구성요소 ID부터 구성요소 인스턴스까지 추가 조회가 수행됩니다. 여러 특성을 가져올 때 먼저 구성요소 ID로 구성요소 인스턴스를 조회한 다음 get_property를 호출하는 것이 좋습니다.
![]() |
instances ( self, entity ) : integer*![]() 지정된 엔티티의 모든 구성요소 인스턴스를 반환합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 엔티티입니다. |
integer* |
모든 엔티티 구성요소 인스턴스입니다. * 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다. |
인스턴스는 스택으로 반환됩니다.
![]() |
instance_ids ( self, entity ) : integer*![]() 엔티티의 모든 구성요소의 ID를 반환합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 엔티티입니다. |
integer* |
모든 엔티티 인스턴스 ID입니다. * 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다. |
ID는 스택으로 반환됩니다.
![]() |
instance_ids_with_script ( self, entity, script_name, result_table ) : any(stingray.Entity, integer)[], integerinstance_ids_with_script ( self, script_name, result_table ) : any(stingray.Entity, integer)[], integer![]() 지정된 스크립트 이름에 연결된 모든 스크립트 구성요소 인스턴스를 반환합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 스크립트 구성요소를 쿼리하는 선택적 엔티티입니다. | |
script_name : | string | 스크립트 이름입니다. |
result_table : | table? | 선택적 결과 테이블입니다. ? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다. |
any(stingray.Entity, integer)[] |
엔티티 및 구성요소 인스턴스 id의 인터리브된 쌍입니다. any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다. [] 표기는 이 유형이 어레이임을 나타냅니다. 어레이는 구성원의 키가 순차적인 정수이며, 각 요소의 값이 표시된 유형의 인스턴스인 테이블입니다. |
integer |
결과 수가 테이블에 기록됩니다. |
사용 예제:
-- We can pass a cached table for better performance or we can omit the parameter and have it allocated for us.
local components, num_components = script_component:instances_with_script("myscript_name", self._query_cache)
local arg1 = -- some argument
local arg2 = -- some argument
script_component:call_function(components, "some_function", arg1, arg2)
local entity = -- some entity
local arg1 = -- some argument
local arg2 = -- some argument
local components = script_component:instances_with_script(entity, "myscript_name", self._query_cache)
script_component:call_function(components, "some_function", arg1, arg2)
기타 관련 참조 항목
![]() |
lookup ( self, entity, id ) : integer![]() 지정한 ID에 대한 구성요소 인스턴스를 반환합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 엔티티입니다. | |
id : | integer | 구성요소 인스턴스 ID입니다. |
integer |
구성요소 인스턴스입니다. |
![]() |
set_parent ( self, entities, parent_indices )![]() 각 엔티티에 대한 parent_indices를 조회하고 상위를 지정된 상위 인덱스로 설정합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entities : | table | 상위/하위 관계를 설정할 엔티티의 목록입니다. |
parent_indices : | table | 상위 인덱스의 엔티티 목록과 동일한 길이의 목록입니다. 상위가 없는 엔티티의 인덱스로 false를 사용합니다. |
이 함수는 아무 값도 반환하지 않습니다. |
이 함수는 모든 구성요소를 추가 및 구성한 다음 spawned 전에 호출해야 합니다.
![]() |
set_property ( self, instance, key, value )![]() 특성 키의 값을 설정합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
instance : | integer | 구성요소 인스턴스입니다. |
key : | any(string, string[]) | 값을 설정하려는 특성의 키입니다. any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다. |
value : | any | 키에 대해 설정할 값입니다. |
이 함수는 아무 값도 반환하지 않습니다. |
키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.
값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 어느 값이든 될 수 있습니다.
3~ 4개의 부동 소수점 어레이 대신 Vector 3 또는 Quaternion을 사용해도 됩니다.
값을 nil로 설정하여 특성을 지울 수도 있습니다.
![]() |
set_property_by_id ( self, entity, id, key, value ) : integer![]() 특성 값을 설정하고 지정된 ID와 일치하는 구성요소 인스턴스를 반환합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entity : | 엔티티입니다. | |
id : | integer | 구성요소 인스턴스 ID입니다. |
key : | any(string, string[]) | 값을 설정하려는 특성의 키입니다. any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다. |
value : | any | 키에 대해 설정할 값입니다. |
integer |
구성요소 인스턴스입니다. |
키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.
값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 어느 값이든 될 수 있습니다.
3~ 4개의 부동 소수점 어레이 대신 Vector 3 또는 Quaternion을 사용해도 됩니다.
값을 nil로 설정하여 특성을 지울 수도 있습니다.
이 함수를 호출하면 지정된 구성요소 ID부터 구성요소 인스턴스까지 추가 조회가 수행됩니다. 여러 특성을 설정할 경우 먼저 구성요소 ID로 구성요소 인스턴스를 조회한 다음 set_property를 호출하는 것이 좋습니다.
![]() |
spawned ( self, entities )![]() 각 엔티티에서 이 구성요소 유형에 대해 spawned를 호출합니다.
|
self : | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. | |
entities : | table | 호출할 엔티티 목록입니다. |
이 함수는 아무 값도 반환하지 않습니다. |
표준에 대한 해당 소개를 완료하려면 엔티티와 해당 구성요소를 생성 및 구성한 다음 호출해야 합니다.