private EnemyMeteorMovement SpawnEnemyMeteor(EnemyMeteorMovement.Path path) { var pos = path.spawnPoint.transform.position; pos.z = enemyMeteorPrefab.transform.position.z; var meteor = Instantiate(enemyMeteorPrefab, pos, Quaternion.identity, meteorHolder.transform); var meteorMovement = meteor.GetComponent <EnemyMeteorMovement>(); Debug.Assert(meteorMovement); meteorMovement.SetPath(path); var deathHandler = meteor.GetComponent <enemy_meteor>(); deathHandler.moneyReceiver = moneyReceiver; return(meteorMovement); }
private EnemyMeteorMovement.Path getRandomEnemyMeteorPath(bool tutorial = false, int index = 0) { var paths = tutorial ? tutorialEnemyMeteorPaths : enemyMeteorPaths; Debug.Assert(paths.Count > 0); var random = RandomHelper.Instance(); var pathParams = random.GetItem(paths); var path = new EnemyMeteorMovement.Path(); path.spawnPoint = tutorial ? pathParams.spawnPoints[index] : random.GetItem(pathParams.spawnPoints); path.destinationPoint = tutorial ? pathParams.destinationPoints[index] : random.GetItem(pathParams.destinationPoints); path.speed = pathParams.speed.GetRandom(); return(path); }