コード例 #1
0
 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;
     }
 }
コード例 #2
0
ファイル: bbAgent.cs プロジェクト: NickSchade/SamizdatEngine
        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);
            }
        }