IEnumerator Despawn(Model.Mogura mogura) { yield return(new WaitForSeconds(2)); var anim = mogura.gameObject.GetComponent <Animator>(); if (!anim.GetCurrentAnimatorStateInfo(0).IsName("Damaged")) { GameObject.Destroy(mogura.gameObject); // TODO: access to a static member of a type via a derived type } }
public void Spawn(Vector3 min, Vector3 max) { var moguraPrefab = GameObject.Find("Mogura"); var x = Random.Range(min.x, max.x); var y = Random.Range(min.y, max.y); var z = Random.Range(min.z, max.z); var pos = new Vector3(x, y, z); var gameObject = Object.Instantiate(moguraPrefab, pos, Quaternion.identity); var mogura = new Model.Mogura(gameObject); Observable.FromCoroutine(() => Despawn(mogura)) .Subscribe(); }