Beispiel #1
0
    void SquadSpawn(SpawnSettings _settings, SquadSpawner _spawner)
    {
        RaycastHit hit;

        if (!JHelper.RaycastMousePosToLayer("Floor", out hit))
        {
            return;
        }

        AddSquad(_spawner.CreateSquad(_settings.faction, squad_spawn_size, hit.point));
    }
Beispiel #2
0
    void IndividualSpawn(SpawnSettings _settings, SquadSpawner _spawner)
    {
        RaycastHit hit;

        if (!JHelper.RaycastMousePosToLayer("Floor", out hit))
        {
            return;
        }

        selected_squad.AddSquaddie(_spawner.CreateSquaddie(_settings.faction, hit.point));
        selected_squad.SelectSquad();
    }
Beispiel #3
0
    // Start is called before the first frame update
    private void Start()
    {
        Cursor.visible = false;
        squadSpawner   = squadSpawnerGameObject.GetComponent <SquadSpawner>();
        squadSpawner.addSquadToLevelSquads();

        for (int i = 0; i < enemySquads.Length; i++)
        {
            enemySquads[i].GetComponent <Enemy>().deActivateWaypoint();
            for (int f = 0; f < enemySquads[i].GetComponent <Enemy>().squadMembers.Count; f++)
            {
                enemySquads[i].GetComponent <Enemy>().squadMembers[f].GetComponent <Enemy>().onEnemyDeath     += deleteEnemyFromSquad;
                enemySquads[i].GetComponent <Enemy>().squadMembers[f].GetComponent <Enemy>().onEnemyDestroyed += deleteEnemyFromSquad;
                enemySquads[i].GetComponent <Enemy>().squadMembers[f].GetComponent <Enemy>().onEnemyDeath     += addPointsToPlayer;
            }

            enemySquads[i].SetActive(false);
        }

        playerController   = player.GetComponent <PlayerController>();
        distanceText       = distanceTextGameObject.GetComponent <UIDisplayNumbers>();
        roundEndMessage    = roundEndUI.GetComponent <UIRoundEnd>();
        startRoundAnimator = startRoundCanvas.GetComponent <Animator>();
        endRoundAnimator   = endRoundCanvas.GetComponent <Animator>();
        saveLevelName      = SaveLastLevel.Get();


        PlayerController.onPlayerDeath += roundEnd;
        PlayerController.onPlayerDeath += playerIsDead;
        currentSquadsOnScreen           = 2;

        for (int i = 0; i < enemySquads.Length; i++)
        {
            if (enemySquads[i] != null && currentSquadsOnScreen < maxSquadsOnScreen)
            {
                enemySquads[i].SetActive(true);
                enemySquads[i].GetComponent <Enemy>().activateWaypoint();
                currentSquadsOnScreen++;
            }
        }
    }
Beispiel #4
0
    void HandleSquadSpawning()
    {
        SquadSpawner squad_spawner = GameManager.scene.squad_spawner;

        foreach (SpawnSettings settings in spawn_settings)
        {
            if (!Input.GetKeyDown(settings.spawn_key))
            {
                continue;
            }

            if (selected_squad == null)
            {
                SquadSpawn(settings, squad_spawner);
            }
            else
            {
                IndividualSpawn(settings, squad_spawner);
            }
        }
    }