MCPcopy Create free account
hub / github.com/bwapi/bwapi / start

Method start

bwapi/TestAIModule/Source/UpgradeTest.cpp:20–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18 BWAssertF(upgraderType!=UnitTypes::Unknown,{fail=true;return;});
19}
20void UpgradeTest::start()
21{
22 if (fail) return;
23 running = true;
24
25 int upgraderCount = Broodwar->self()->completedUnitCount(upgraderType);
26 BWAssertF(upgraderCount>=1,{fail=true;LOGTYPE;return;});
27 for (Unit u : Broodwar->self()->getUnits())
28 {
29 if (u->getType()==upgraderType)
30 {
31 upgrader = u;
32 break;
33 }
34 }
35 BWAssertF(upgrader!=NULL,{fail=true;LOGTYPE;return;});
36
37 BWAssertF(upgrader->getOrder()==Orders::Nothing,{fail=true;LOGTYPE;return;});
38 BWAssertF(upgrader->isIdle()==true,{fail=true;LOGTYPE;return;});
39 BWAssertF(upgrader->isLifted()==false,{fail=true;LOGTYPE;return;});
40 BWAssertF(upgrader->isResearching()==false,{fail=true;LOGTYPE;return;});
41 BWAssertF(upgrader->isUpgrading()==false,{fail=true;LOGTYPE;return;});
42 BWAssertF(upgrader->getTech()==TechTypes::None,{fail=true;LOGTYPE;return;});
43 BWAssertF(upgrader->getUpgrade()==UpgradeTypes::None,{fail=true;LOGTYPE;return;});
44 BWAssertF(upgrader->getRemainingResearchTime()==0,{fail=true;LOGTYPE;return;});
45 BWAssertF(upgrader->getRemainingUpgradeTime()==0,{fail=true;LOGTYPE;return;});
46 previousUpgradeLevel = Broodwar->self()->getUpgradeLevel(upgradeType);
47 correctMineralCount = Broodwar->self()->minerals() - upgradeType.mineralPrice(previousUpgradeLevel+1);
48 correctGasCount = Broodwar->self()->gas() - upgradeType.gasPrice(previousUpgradeLevel+1);
49
50 upgrader->upgrade(upgradeType);
51
52 BWAssertF(upgrader->getOrder()==Orders::Upgrade,{fail=true;LOGTYPE;return;});
53 BWAssertF(upgrader->isIdle()==false,{fail=true;LOGTYPE;return;});
54 BWAssertF(upgrader->isLifted()==false,{fail=true;LOGTYPE;return;});
55 BWAssertF(upgrader->isResearching()==false,{fail=true;LOGTYPE;return;});
56 BWAssertF(upgrader->isUpgrading()==true,{fail=true;LOGTYPE;return;});
57 BWAssertF(upgrader->getTech()==TechTypes::None,{fail=true;LOGTYPE;return;});
58 BWAssertF(upgrader->getUpgrade()==upgradeType,{fail=true;LOGTYPE;return;});
59 BWAssertF(upgrader->getRemainingResearchTime()==0,{fail=true;LOGTYPE;return;});
60 BWAssertF(upgrader->getRemainingUpgradeTime()==upgradeType.upgradeTime(previousUpgradeLevel+1),{fail=true;LOGTYPE;return;});
61 BWAssertF(Broodwar->self()->getUpgradeLevel(upgradeType)==previousUpgradeLevel,{fail=true;LOGTYPE;return;});
62 BWAssertF(Broodwar->self()->minerals() == correctMineralCount,{fail=true;LOGTYPE;return;});
63 BWAssertF(Broodwar->self()->gas() == correctGasCount,{fail=true;LOGTYPE;return;});
64
65 startUpgradeFrame = Broodwar->getFrameCount();
66 nextUpdateFrame = startUpgradeFrame;
67
68}
69void UpgradeTest::update()
70{
71 if (running == false) return;

Callers

nothing calls this directly

Calls 15

completedUnitCountMethod · 0.80
isIdleMethod · 0.80
isLiftedMethod · 0.80
getUpgradeMethod · 0.80
getUpgradeLevelMethod · 0.80
mineralsMethod · 0.80
gasMethod · 0.80
upgradeTimeMethod · 0.80
selfMethod · 0.45
getUnitsMethod · 0.45

Tested by

no test coverage detected