public override void TakeTurn() { if (!hasResource) { resourceTimer++; if (resourceTimer >= resourceCooldown) { resourceTimer = 0; hasResource = true; jobQueued = false; } } if (hasResource && !jobQueued) { pos.game.gameManager.drawer.DrawEffectResource(this); List <bbJob> jobQueue = new List <bbJob>(); bbJobMoveTo moveToHere = new bbJobMoveTo(getPos()); jobQueue.Add(moveToHere); bbJobUseStructure useThis = new bbJobUseStructure(this); jobQueue.Add(useThis); bbStructure trystruct = new bbStructureDummy(); if (pos.findClosestStructureByPath(bbStructureType.STRUCTURE_HQ, ref trystruct)) { bbStructure hq = trystruct; bbJobMoveTo moveToHQ = new bbJobMoveTo(hq.getPos()); jobQueue.Add(moveToHQ); bbJobUseStructure useHQ = new bbJobUseStructure(hq); jobQueue.Add(useHQ); } pos.game.playerJobQueue.Add(jobQueue); jobQueued = true; } }
void AssignDefaultJob(bbStructure assignedStructure) { bbStructure mine = assignedStructure; // Move To Mine bbJobMoveTo moveToMine = new bbJobMoveTo(mine.getPos()); jobQueue.Add(moveToMine); // Use Mine bbJobUseStructure useMine = new bbJobUseStructure(mine); jobQueue.Add(useMine); // Move To HQ bbStructure trystruct = new bbStructureDummy(); if (pos.findClosestStructureByPath(bbStructureType.STRUCTURE_HQ, ref trystruct)) { bbStructure hq = trystruct; bbJobMoveTo moveToHQ = new bbJobMoveTo(hq.getPos()); jobQueue.Add(moveToHQ); // Use HQ bbJobUseStructure useHQ = new bbJobUseStructure(hq); jobQueue.Add(useHQ); } }