Esempio n. 1
0
    public void ObtenerEnemyAmmo(Transform enemyAmmo)
    {
        Transform spawnedAmmo = EnemyAmmoQueue.Dequeue();
        EnemyAmmo pa          = spawnedAmmo.GetComponent <EnemyAmmo>();

        pa.SetEnemyAmmo(VelocidadEnemyAmmo, TiempoVidaEnemyAmmo, ValorDañoEnemyAmmo);

        spawnedAmmo.gameObject.SetActive(true);
        spawnedAmmo.position = enemyAmmo.position + (enemyAmmo.forward * 2f);
        spawnedAmmo.rotation = enemyAmmo.rotation;
        EnemyAmmoQueue.Enqueue(spawnedAmmo);

        //return spawnedAmmo;
    }
Esempio n. 2
0
    public void SpawnAmmo(Dictionary <string, object> _data)
    {
        float radius = 150f;

        MyAmmos = new List <EnemyAmmo>();
        int     ammoNum    = (int)_data["AmmoNum"];
        int     ammoSpeed  = (int)_data["AmmoSpeed"];
        Vector3 shooterPos = (Vector3)_data["ShooterPos"];

        for (int i = 0; i < ammoNum; i++)
        {
            GameObject ammoGo = Instantiate(ThatAmmoPrefab.gameObject, Vector3.zero, Quaternion.identity) as GameObject;
            ammoGo.name = string.Format("enemyAmmo{0}", i);
            EnemyAmmo ea       = ammoGo.GetComponent <EnemyAmmo>();
            float     divAngle = 360 / ammoNum;
            float     x        = radius * Mathf.Cos(i * divAngle * Mathf.Deg2Rad) + shooterPos.x;
            float     y        = radius * Mathf.Sin(i * divAngle * Mathf.Deg2Rad) + shooterPos.y;
            ammoGo.transform.SetParent(transform);
            ammoGo.transform.position = new Vector2(x, y);
            ea.Init(_data);
            ea.SetCircularMotion(radius, i * divAngle * Mathf.Deg2Rad);
            MyAmmos.Add(ea);
        }
    }