ScriptComponent - stingray.ScriptComponent 오브젝트 참조 - Stingray Lua API 참조

stingray.ScriptComponent 오브젝트 참조

설명

엔티티에 스크립팅 지원을 추가하는 구성요소입니다.

예제 스크립트입니다. 스크립트 파일은 이름 필드가 있는 테이블을 반환해야 합니다.

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

함수

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

function_name :

string

호출할 함수의 이름입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.

모든 스크립트에서 모든 업데이트 기능을 트리거하기 위해 게임 루프에서 일반적으로 사용됩니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.Entity

엔티티입니다.

id :

any(integer, string)

구성요소 ID입니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
반환하는 항목

integer

구성요소 인스턴스입니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

instance :

integer

삭제할 구성요소 인스턴스입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.
매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.Entity

모든 구성요소 인스턴스를 삭제할 엔티티입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.
매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

instances :

table

엔티티와 구성요소 인스턴스 id(예: [e1, c1, e1, c2, e2, c1, ...])의 선택적 인터리브된 목록입니다.

function_name :

string

호출할 함수의 이름입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.
매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

script_name :

string

스크립트 이름입니다.

반환하는 항목

stingray.Entity[]

스크립트 이름에 연결된 엔티티의 어레이입니다.

[] 표기는 이 유형이 어레이임을 나타냅니다. 어레이는 구성원의 키가 순차적인 정수이며, 각 요소의 값이 표시된 유형의 인스턴스인 테이블입니다.
매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

instance :

integer

구성요소 인스턴스입니다.

key :

any(string, string[])

값을 가져오려는 특성의 키입니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
반환하는 항목

any*

키의 값입니다.

* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.

키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.

값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 하나가 됩니다.

부동 소수점 어레이는 다중 반환값으로 반환됩니다. 테이블 또는 Vector3로 반환되길 원한다면 래퍼를 사용하십시오.

키가 존재하지 않으면 nil이 반환됩니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.Entity

엔티티입니다.

id :

integer

구성요소 인스턴스 ID입니다.

key :

any(string, string[])

값을 가져오려는 특성의 키입니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.
반환하는 항목

any*

키의 값입니다.

* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.

키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.

값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 하나가 됩니다.

부동 소수점 어레이는 다중 반환값으로 반환됩니다. 테이블 또는 Vector3로 반환되길 원한다면 래퍼를 사용하십시오.

키가 존재하지 않으면 nil이 반환됩니다.

이 함수를 호출하면 지정된 구성요소 ID부터 구성요소 인스턴스까지 추가 조회가 수행됩니다. 여러 특성을 가져올 때 먼저 구성요소 ID로 구성요소 인스턴스를 조회한 다음 get_property를 호출하는 것이 좋습니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.Entity

엔티티입니다.

반환하는 항목

integer*

모든 엔티티 구성요소 인스턴스입니다.

* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.

인스턴스는 스택으로 반환됩니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.Entity

엔티티입니다.

반환하는 항목

integer*

모든 엔티티 인스턴스 ID입니다.

* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.

ID는 스택으로 반환됩니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.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)
매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.Entity

엔티티입니다.

id :

integer

구성요소 인스턴스 ID입니다.

반환하는 항목

integer

구성요소 인스턴스입니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entities :

table

상위/하위 관계를 설정할 엔티티의 목록입니다.

parent_indices :

table

상위 인덱스의 엔티티 목록과 동일한 길이의 목록입니다. 상위가 없는 엔티티의 인덱스로 false를 사용합니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.

이 함수는 모든 구성요소를 추가 및 구성한 다음 spawned 전에 호출해야 합니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

instance :

integer

구성요소 인스턴스입니다.

key :

any(string, string[])

값을 설정하려는 특성의 키입니다.

any(...) 표기는 이 항목이 괄호 내에 표시되는 어떠한 유형의 인스턴스도 될 수 있다는 의미입니다.

value :

any

키에 대해 설정할 값입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.

키는 도트로 구분되는 문자열("fog.color.red") 또는 문자열의 어레이({"fog", "color", "red"})일 수 있습니다. 둘 모두 서로 바꿔서 쓸 수 있습니다.

값은 특성 시스템에서 지원하는 값, 즉 nil, 부울, 숫자, 문자열 또는 부동 소수점 어레이 중 어느 값이든 될 수 있습니다.

3~ 4개의 부동 소수점 어레이 대신 Vector 3 또는 Quaternion을 사용해도 됩니다.

값을 nil로 설정하여 특성을 지울 수도 있습니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entity :

stingray.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를 호출하는 것이 좋습니다.

매개변수

self :

stingray.ScriptComponent

이 함수가 작동하는 오브젝트 인스턴스를 지정합니다.

콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오.

entities :

table

호출할 엔티티 목록입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.

표준에 대한 해당 소개를 완료하려면 엔티티와 해당 구성요소를 생성 및 구성한 다음 호출해야 합니다.