Example #1
0
    void SpawnRandom(Transform location)
    {
        var prefab = enemyPrefabs[Random.Range(0, enemyPrefabs.Length)];
        var pos    = location.position;


        if (prefab.name == "KamikazeBuzzer")
        {
            pos += new Vector3(0.0f, 1.0f, 0.0f);
        }

        var enemy = Instantiate(prefab, pos, location.rotation) as GameObject;

        enemy.tag = "Enemy";

        var spawnCollider = location.gameObject.collider;
        var enemyCollider = enemy.collider;

        var health = enemy.GetComponent <Health>();

        var origReceivers = health.dieSignals.receivers;
        var receivers     = new ReceiverItem[origReceivers.Length + 1];

        for (int i = 0; i < origReceivers.Length; i++)
        {
            receivers[i] = origReceivers[i];
        }

        receivers[receivers.Length - 1] = new ReceiverItem
        {
            action   = "OnEnemyDeath",
            receiver = gameObject
        };

        health.dieSignals.receivers = receivers;

        enemy.SetActive(true);
        Physics.IgnoreCollision(spawnCollider, enemyCollider);
        enemy.BroadcastMessage("OnSpotted");

        numCurrentEnemies++;
    }
Example #2
0
 private void dgvReceiver_RowEnter(object sender, DataGridViewCellEventArgs e)
 {
     this._target = this._source[e.RowIndex];
     this.refresh();
 }