コード例 #1
0
    // Start is called before the first frame update
    void Start()
    {
        Player          = GameObject.Find("Player");
        spotRange       = 50;
        _Rb             = GetComponent <Rigidbody>();
        _Rb.angularDrag = 0;
        FirstEnemy _fe = GetComponent <FirstEnemy>();

        MovementSpeed = _fe.enemyStats.MovementSpeed;
    }
コード例 #2
0
    // Actually spawn the enemy
    void SpawnEnemy0(GameObject enemyPrefab)
    {
        GameObject enemy = enemyPrefab;
        // TEMPORARY CODE: Make more generalized later
        FirstEnemy enemyScript = enemy.GetComponent <FirstEnemy>();

        // Set the time until attack for this enemy
        enemyScript.timeUntilAttack = Random.Range(SpawnCore.attackDelay_Min, SpawnCore.attackDelay_Max);
        //	enemyScript.timeUntilAttack = 0.95f;

        // Set the size of the enemys
        float sizeMultiplier = Random.Range(SpawnCore.sizeMultiplier_Min, SpawnCore.sizeMultiplier_Max);

        enemyScript.sizeMultiplier = sizeMultiplier;

        // Set the position of this enemy
        Vector3 pos = Vector2.zero;

        // Set the enemy just right off the screen
        pos.x = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, 0, 0)).x + enemy.renderer.bounds.size.x / 2;
        // Z-sort so larger enemies are behind smaller ones
        pos.z = sizeMultiplier * 5;

        // Calculate the max height for spawning- just at the top of the screen
        float maxHeight = Camera.main.ScreenToWorldPoint(new Vector3(0, Screen.height, 0)).y - enemy.renderer.bounds.size.y / 2;
        // Calculate the min height for spawning- 3/5s of the screen- right above the layer
        float minHeight = Camera.main.ScreenToWorldPoint(new Vector3(0, Screen.height * 3 / 5, 0)).y - enemy.renderer.bounds.size.y / 2;

        // Set the enemy to a random height between the max and min heights
        pos.y = Random.Range(minHeight, maxHeight);

        // Apply the position to the enemy
        enemy.transform.position = pos;

        // Activate the object
        enemy.GetComponent <EnemySpawn>().Activate();
        // TEMPORARY: Make this part MORE general somehow- probably with EnemySpawnController
        enemy.GetComponent <FirstEnemy>().Activate();
    }