コード例 #1
0
    public override void Attack()
    {
        for(int i = 0; i < drones.Count; i++)
        {
            if (drones[i])
            {
                AttackDrone atk = null;

                if (drones[i].TryGetComponent(out atk))
                {
                    if (enemies.Count > 0)
                    {

                        if (enemies.Peek())
                        {
                            atk.enemyToAttack = enemies.Peek().gameObject;
                        }
                        else
                        {
                            enemies.Dequeue();
                        }
                    }
                }
                else
                {
                    atk.enemyToAttack = null;
                }
            }
        }
    }
コード例 #2
0
    public void SpawnDrone()
    {
        switch (side)
        {
            case -1:
                if (!drones[0])
                {
                    drones.Add(Instantiate(attackDronePrefab, droneSpawnPos1.position, droneSpawnPos1.rotation, null));
                }
                else
                {
                    drones.Add(Instantiate(attackDronePrefab, droneSpawnPos1.position, droneSpawnPos1.rotation, null));
                }
                break;
            case 1:
                if (!drones[0])
                {
                    drones.Add(Instantiate(attackDronePrefab, droneSpawnPos2.position, droneSpawnPos2.rotation, null));
                }
                else
                {
                    drones.Add(Instantiate(attackDronePrefab, droneSpawnPos2.position, droneSpawnPos2.rotation, null));
                }
                break;
        }
        droneCount++;

        for(int i = 0; i < drones.Count; i++)
        {
            AttackDrone atk = null;

            if (drones[i])
            {
                if (drones[i].TryGetComponent(out atk))
                {
                    atk.side = side;
                    switch (side)
                    {
                        case -1:
                            atk.idleLocation = droneIdlePos1;
                            break;
                        case 1:
                            atk.idleLocation = droneIdlePos2;
                            break;
                    }
                }
                side *= -1;
            }
        }
    }