Activityのjsonのメソッドを実行する
ActivityScene.json(アクティビティフォルダのjson)で定義されるComponentクラスのメソッドを、Scene.jsonで定義されるComponentクラスから実行する方法
Info
SDKバージョン : 13.7
OS : Windows 11
Unity : 2022.3.6f1
ブラウザ : Google Chrome
対応内容
下記図のようなケースを考える。
- ComponentAからComponentBのHogeメソッドを実行したい
- サブシーンのコンポーネントは参照できない(図の赤線) -同じ環境であればsystem.Item_GetComponent などを使って参照をもてる
- そこでアイテム経由で実行する必要がある
手順
① まずComponentBを持つアイテムBを取得しておく
サブシーンのものでも、ComponentでなくItemであればhsItemGetで参照をとれる
Info
hsItemGet("ActivityItem/ItemB") のように、(アクティビティタイプのアイテム名)/(サブシーン内の指定したい相手名)と階層パスで取得する。 これはアクティビティタイプのアイテムがサブシーンをもっているため。
② 取得したアイテムBを使って、直接メソッドを実行
- 具体的にはitmB.CallComponentMethod("ComponentB","Hoge","HogeParam")のように実行
- CallComponentMethod なのでメソッドHogeは引数string一個で、かつ、戻り値型はvoidである必要がある