private void RegisterEmployeeDeathEvent(Employee employee) { employee.Died += e => { e.RemoveAssignedWorkStation(); Employees.Remove(e); EmployeesDied++; NumEmployeesChanged?.Invoke(); }; }
private void SpawnEmployee(WorkStation assignedWorkstation) { string employeeName = employeeNames[Random.Range(0, employeeNames.Count)]; var employee = Instantiate(employeePrefab, spawnLocation.position, Quaternion.identity); employee.SetName(employeeName); employee.AssignWorkStation(assignedWorkstation); employee.MoveToWorkStation(); float baseStress = Random.Range(minStressLevel, maxStressLevel); employee.StressConsumerController.SetBaseStress(baseStress); Employees.Add(employee); NumEmployeesChanged?.Invoke(); RegisterEmployeeDeathEvent(employee); }