エンティティにスクリプト作成サポートを追加するコンポーネントです。
サンプル スクリプトです。スクリプト ファイルは、名前フィールドを持つテーブルを返す必要があります。
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* |
キーの値です。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
キーは、ドット区切りの文字列 "fog.color.red" または文字配列 {"fog", "color", "red"} にすることができます。どちらも同じように使用できます。
値はプロパティシ ステムでサポートされているいずれかの値(nil、ブール、数値、文字列、または float 配列)になります。
float 配列は複数の戻り値として返されます。テーブルまたは 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* |
キーの値です。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
キーは、ドット区切りの文字列 "fog.color.red" または文字配列 {"fog", "color", "red"} にすることができます。どちらも同じように使用できます。
値はプロパティシ ステムでサポートされているいずれかの値(nil、ブール、数値、文字列、または float 配列)になります。
float 配列は複数の戻り値として返されます。テーブルまたは Vector3 としてこれらが必要な場合は、ラッパーを使用します。
キーが存在しない場合、nil が返されます。
この関数を呼び出すと、指定されたコンポーネント ID からコンポーネント インスタンスへの追加ルックアップが実行されます。複数のプロパティを取得する場合は、コンポーネント ID を指定してコンポーネント インスタンスをルックアップしてから、get_property を呼び出すと便利です。
![]() |
instances ( self, entity ) : integer*![]() 指定されたエンティティのすべてのコンポーネント インスタンスを返します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
entity : | エンティティです。 |
integer* |
すべてのエンティティのコンポーネント インスタンスです。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
このインスタンスはスタック上で返されます。
![]() |
instance_ids ( self, entity ) : integer*![]() すべてのエンティティのコンポーネントの ID を返します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
entity : | エンティティです。 |
integer* |
すべてのエンティティ インスタンスの ID です。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
この 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? | 結果用のオプションのテーブル。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
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、ブール、数値、文字列、または float 配列)にすることができます。
3 つまたは 4 つの float 配列を渡す代わりに、Vector3 または 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、ブール、数値、文字列、または float 配列)にすることができます。
3 つまたは 4 つの float 配列を渡す代わりに、Vector3 または Quaternion を使用することができます。
値を nil に設定すると、プロパティを削除することができます。
この関数を呼び出すと、指定されたコンポーネント ID からコンポーネント インスタンスへの追加ルックアップが実行されます。複数のプロパティを設定する場合は、コンポーネント ID を指定してコンポーネント インスタンスをルックアップしてから、set_property を呼び出すと便利です。
![]() |
spawned ( self, entities )![]() エンティティごとに、このコンポーネント タイプに対して spawned を呼び出します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
entities : | table | spawned を呼び出すエンティティのリストです。 |
この関数は値を返しません。 |
これは、エンティティおよびそのコンポーネントを作成および設定した後に、ワールドへの導入を仕上げる目的で呼び出す必要があります。