Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Class WaveInstantiate {
- private EnemyMovement enemymovement;
- public void MakeEnemy(Vector3 pos, Quaternion rot, Enemy.EnemyMove behaviour) {
- GameObject enemy = Instantiate (ship, pos, rot) as GameObject;
- enemy.GetComponent<Enemy> ().moveEnemy = behaviour;
- }
- public IEnumerator Wave1() {
- // Set spawn spots and no. of enemies
- // Make the calls to: MakeEnemy(pos, rot, enemymovement.SomeFunctionToMoveEnemy)
- }
- public IEnumerator Wave2() // etc
- }
- Class Enemy {
- public delegate IEnumerator EnemyMove(Enemy enemy);
- public EnemyMove moveEnemy;
- void Start() {
- // Do some setup
- StartCoroutine(moveEnemy (this));
- }
- }
- Class EnemyMovement {
- private BulletPatterns bulletpatterns;
- public IEnumerator ForwardThenBack(Enemy enemy) {
- // Move object forward
- yield return StartCoroutine(bulletpatterns.BulletsAtPlayer (enemy.rigidbody.position));
- // Move object back
- }
- // Define some other movements here also
- }
- Class BulletPatterns {
- private GameObject playerShip;
- public IEnumerator BulletsAtPlayer(Vector3 spawnPos) {
- // Create some bullets that are being aimed at the player
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement