bool WeightedPawnSpawn(Transform t) { int chosenBase = 0; bool pawnSpawned = false; for (int i = 0; i < usedSubset.Length; i++) { int pawnRand = Random.Range(0, totalChance); if (pawnRand <= pawnSpawnThreshold[i]) { chosenBase = i; classNumbers[i]++; //GameObject pawnToSpawn = Instantiate(usedSubset[0], t.position, t.rotation,pawnHolder); GameObject pawnToSpawn = Instantiate(usedSubset[chosenBase], t.position, t.rotation, pawnHolder); InitPawn pawnInit = pawnToSpawn.GetComponent <InitPawn>(); pawnInit.workContainer = workContainer; pawnInit.SetRestZone(homeZones[pawnsSpawned].relaxZone.transform); pawnInit.SetSleepZone(homeZones[pawnsSpawned].sleepZone.transform); pawnInit.classType = i; pawnSpawned = true; break; } } return(pawnSpawned); }
public void AssignWorker(InitPawn newWorker) { workers.Add(newWorker); newWorker.workplaceAssigned = true; newWorker.SetWorkZone(transform); currentJobCount++; if (currentJobCount >= totalJobCount) { workplaceFull = true; } }
private void Start() { targetReady = false; seeker = GetComponent <Seeker>(); grid = FindObjectOfType <GridLayout>(); pathMap = grid.GetComponentInChildren <Tilemap>(); init = GetComponent <InitPawn>(); path = FindObjectOfType <AstarPath>(); currentSpeed = movementSpeed; aILerp.speed = currentSpeed; }
//TODO develop graphing parameters protected void Start() { pathfinding = GetComponent <PathfindingTestScript>(); pawn = GetComponent <InitPawn>(); taskQueueToday = new Queue <TaskTypes>(); taskQueueTimeHourToday = new Queue <int>(); taskQueueTimeMinuteToday = new Queue <int>(); taskQueueTomorrow = new Queue <TaskTypes>(); taskQueueTimeHourTomorrow = new Queue <int>(); taskQueueTimeMinuteTomorrow = new Queue <int>(); fullInteractionZones = new List <InteractionZone>(); fullJoyZones = new List <JoyZone>(); for (int i = 0; i < taskListToday.Count; i++) { taskQueueToday.Enqueue(taskListToday[i]); taskQueueTimeHourToday.Enqueue(taskTimeHourToday[i]); taskQueueTimeMinuteToday.Enqueue(taskTimeMinuteToday[i]); } }