自作したCalculatorでDistanceTransitionが正常に動きません
Posted: 2019/05/13 13:07
エディター時のシーン上には存在せず、シーンを実行した後に動的に生成されるオブジェクトのTransformを捕捉したいので以下のようなCalculatorを作りました。
ステート図はこちらです。
しかしWaitステートのDistanceTransition部分は正常に動いても、
PrepareステートでのDistanceTransitionが正常に動かずAtackステートに移行してくれません。
Find Game Object 部分を試しに Transform.Get Calculaorに差し替え、シーン上にあるものをアタッチする場合は正常にAtackステートに移行したのでPrepareステートのビヘイビア自体には問題がないようです。
Waitステートでは正常に動くのにPrepareステートでDistanceTransitionが働かないのはどういった原因が考えられるでしょうか。
ちなみに、Find Game Object CalculatorからTransform.Getへ噛ませてもダメでした。
また、Paramatorコンテナーを用意して、そこにFindGameWithTagビヘイビアで動的にGameObjectをキャッシュし、Transform.Getを噛ませる方法でも正常に動きませんでした。
ご助言いただけると幸いです。
Code: Select all
public class FindGameObject : Calculator {
/// <summary>
/// Component
/// </summary>
[SerializeField] private string target;
/// <summary>
/// GameObject
/// </summary>
[SerializeField] private OutputSlotTransform _Transform = new OutputSlotTransform();
[SerializeField] private OutputSlotGameObject _GameObject = new OutputSlotGameObject();
// Use this for calculate
public override void OnCalculate() {
_Transform.SetValue(GameObject.Find(target).gameObject.transform);
_GameObject.SetValue(GameObject.Find(target).gameObject);
}
}
ステート図はこちらです。
しかしWaitステートのDistanceTransition部分は正常に動いても、
PrepareステートでのDistanceTransitionが正常に動かずAtackステートに移行してくれません。
Find Game Object 部分を試しに Transform.Get Calculaorに差し替え、シーン上にあるものをアタッチする場合は正常にAtackステートに移行したのでPrepareステートのビヘイビア自体には問題がないようです。
Waitステートでは正常に動くのにPrepareステートでDistanceTransitionが働かないのはどういった原因が考えられるでしょうか。
ちなみに、Find Game Object CalculatorからTransform.Getへ噛ませてもダメでした。
また、Paramatorコンテナーを用意して、そこにFindGameWithTagビヘイビアで動的にGameObjectをキャッシュし、Transform.Getを噛ませる方法でも正常に動きませんでした。
ご助言いただけると幸いです。