Beispiel #1
0
    public Worker PlaceWorker(GameObject workerPrefab, Worker.Gender gender, Worker.Colour colour)
    {
        GameObject newWorker = Instantiate(workerPrefab, new Vector3(transform.position.x, GetWorkerY(), transform.position.z), Quaternion.identity);

        _workerOnTile = newWorker.GetComponent <Worker>();
        _workerOnTile.Initialize(gender, colour);
        _workerOnTile.SetTile(this);
        return(_workerOnTile);
    }
Beispiel #2
0
    GameObject GetWorkerPrefab(Worker.Gender gender, Worker.Colour colour)
    {
        foreach (WorkerPrefab workerPrefab in _workerPrefabs)
        {
            if (workerPrefab.gender == gender && workerPrefab.colour == colour)
            {
                return(workerPrefab.prefab);
            }
        }

        Debug.LogErrorFormat("Found no Worker prefab with these settings:\nGender: {0}, Colour: {1}", gender.ToString(), colour.ToString());
        return(null);
    }
Beispiel #3
0
    public GameObject GetNextWorkerPrefab(out Worker.Gender gender, out Worker.Colour colour)
    {
        int numWorkers = _activePlayer.GetWorkers().Count;

        colour = _activePlayer.GetColour();
        if (numWorkers == 0)
        {
            gender = Worker.Gender.Female;
        }
        else if (numWorkers == 1)
        {
            gender = Worker.Gender.Male;
        }
        else
        {
            // First and Second must be male and female, but any additional workers can be any gender
            gender = (Worker.Gender)UnityEngine.Random.Range(0, 1);
        }

        return(GetWorkerPrefab(gender, colour));
    }