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); }
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); }
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)); }