// Update is called once per frame void Update() { IUserObject userObject = userObjectSpawner.Spawn(); IPoint <IUserObject> point = new Point <IUserObject>(userObject.GetShape().GetCenterX(), userObject.GetShape().GetCenterY(), userObject); quadTree.Insert(point, insertQuadTreeVisitor); }
private IEnumerator Spawn() { while (suitableForSpawn) { try { IUserObject userObject = userObjectSpawner.Spawn(); IPoint <IUserObject> point = new Point <IUserObject> (userObject.GetShape().GetCenterX(), userObject.GetShape().GetCenterY(), userObject); insertQuadTreeVisitor.SetInsertedPoint(point); quadTree.Insert(point, insertQuadTreeVisitor); } catch (OverLimitSpawnException exception) { suitableForSpawn = false; Debug.Log(exception); EditorUtility.DisplayDialog("Info", exception.Message, "OK"); } yield return(waitForObjectCreation); } }