CameraからRayを飛ばしてEntityRefを取得しようと思います。
EntityをGameObjectから取得する際はQuantumからEntityを生成した時に自動でアタッチされるQuantumEntityViewコンポーネントから取得します。
手順
指定したオブジェクトからEntityを自由に取得するためにMain CameraからRayを飛ばしてGameObjectを取得し、そのObjectからQuantumEntityViewコンポーネントを取得、.EntityからEntityRefを取得
コード
// 取得したEntityを格納する変数
EntityRef entity;
// Rayをカメラから飛ばす
var ray = Camera.main.ScreenPointToRay(Input.mousePosiiton);
// Rayにヒットするオブジェクトがあるか調べる
if (Physics.Raycast(ray, out var hit, 100))
{
// ヒットしたオブジェクトの指定コンポーネントを取得する
if (hit.collider.TryGetComopnent<QuantumEntityView>(out var qev))
{
// 取得したコンポーネントから.EntityでEntityRefを取得する
entity = qev.Entity;
UnityEngine.Debug.Log($"取得されたEntity:{qev.name}”);
}else{
UnityEngine.Debug.LogWarning("QuantumEntityViewがアッタッチされていない");
}
}else{
UnityEngine.Debug.LogWarning("Rayにヒットするオブジェクトが無い");
}

コメント