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*

キーの値です。

* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。

キーは、ドット区切りの文字列 "fog.color.red" または文字配列 {"fog", "color", "red"} にすることができます。どちらも同じように使用できます。

値はプロパティシ ステムでサポートされているいずれかの値(nil、ブール、数値、文字列、または float 配列)になります。

float 配列は複数の戻り値として返されます。テーブルまたは Vector3 としてこれらが必要な場合は、ラッパーを使用します。

キーが存在しない場合、nil が返されます。

パラメータ

self :

stingray.ScriptComponent

この関数を機能させるオブジェクト インスタンスを指定します。

このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。

entity :

stingray.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 を呼び出すと便利です。

パラメータ

self :

stingray.ScriptComponent

この関数を機能させるオブジェクト インスタンスを指定します。

このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。

entity :

stingray.Entity

エンティティです。

戻り値

integer*

すべてのエンティティのコンポーネント インスタンスです。

* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。

このインスタンスはスタック上で返されます。

パラメータ

self :

stingray.ScriptComponent

この関数を機能させるオブジェクト インスタンスを指定します。

このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。

entity :

stingray.Entity

エンティティです。

戻り値

integer*

すべてのエンティティ インスタンスの ID です。

* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。

この ID は、スタック上で返されます。

パラメータ

self :

stingray.ScriptComponent

この関数を機能させるオブジェクト インスタンスを指定します。

このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。

entity :

stingray.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)
パラメータ

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、ブール、数値、文字列、または float 配列)にすることができます。

3 つまたは 4 つの float 配列を渡す代わりに、Vector3 または 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、ブール、数値、文字列、または float 配列)にすることができます。

3 つまたは 4 つの float 配列を渡す代わりに、Vector3 または Quaternion を使用することができます。

値を nil に設定すると、プロパティを削除することができます。

この関数を呼び出すと、指定されたコンポーネント ID からコンポーネント インスタンスへの追加ルックアップが実行されます。複数のプロパティを設定する場合は、コンポーネント ID を指定してコンポーネント インスタンスをルックアップしてから、set_property を呼び出すと便利です。

パラメータ

self :

stingray.ScriptComponent

この関数を機能させるオブジェクト インスタンスを指定します。

このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。

entities :

table

spawned を呼び出すエンティティのリストです。

戻り値
この関数は値を返しません。

これは、エンティティおよびそのコンポーネントを作成および設定した後に、ワールドへの導入を仕上げる目的で呼び出す必要があります。