mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-11 02:03:58 +01:00
refector of setEmployeeToJob
This commit is contained in:
parent
3e36e6a80b
commit
da955a4774
@ -174,34 +174,16 @@ export class OfficeSpace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setEmployeeToJob(job: string, amount: number): boolean {
|
setEmployeeToJob(job: string, amount: number): boolean {
|
||||||
let unassignedCount = 0;
|
let jobCount = this.employees.reduce((acc, employee) => (employee.pos === job ? acc + 1 : acc), 0);
|
||||||
let jobCount = 0;
|
|
||||||
for (let i = 0; i < this.employees.length; ++i) {
|
for (const employee of this.employees) {
|
||||||
if (this.employees[i].pos === EmployeePositions.Unassigned) {
|
if (jobCount == amount) return true
|
||||||
unassignedCount++;
|
if (employee.pos === EmployeePositions.Unassigned && jobCount <= amount) {
|
||||||
} else if (this.employees[i].pos === job) {
|
employee.pos = job;
|
||||||
jobCount++;
|
jobCount++;
|
||||||
}
|
} else if (employee.pos === job && jobCount >= amount) {
|
||||||
}
|
employee.pos = EmployeePositions.Unassigned;
|
||||||
|
jobCount--;
|
||||||
if (jobCount == amount) return false;
|
|
||||||
if ((jobCount + unassignedCount) < amount) return false;
|
|
||||||
|
|
||||||
for (let i = 0; i < this.employees.length; ++i) {
|
|
||||||
if (this.employees[i].pos === EmployeePositions.Unassigned) {
|
|
||||||
if (jobCount <= amount) {
|
|
||||||
this.employees[i].pos = job;
|
|
||||||
jobCount++;
|
|
||||||
unassignedCount--;
|
|
||||||
}
|
|
||||||
if (jobCount === amount) break;
|
|
||||||
} else if (this.employees[i].pos === job) {
|
|
||||||
if (jobCount >= amount) {
|
|
||||||
this.employees[i].pos = EmployeePositions.Unassigned;
|
|
||||||
jobCount--;
|
|
||||||
unassignedCount++;
|
|
||||||
}
|
|
||||||
if (jobCount === amount) break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (jobCount !== amount) return false;
|
if (jobCount !== amount) return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user