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

Method updateData

bwapi/BWAPI/Source/BWAPI/PlayerImpl.cpp:128–290  ·  view source on GitHub ↗

--------------------------------------------- UPDATE -----------------------------------------------------

Source from the content-addressed store, hash-verified

126 }
127 //--------------------------------------------- UPDATE -----------------------------------------------------
128 void PlayerImpl::updateData()
129 {
130 self->color = index < BW::PLAYER_COUNT ? BW::BWDATA::Game.playerColorIndex[index] : Colors::Black;
131
132 // Get upgrades, tech, resources
133 if ( this->isNeutral() ||
134 index >= BW::PLAYER_COUNT ||
135 (!BroodwarImpl.isReplay() &&
136 BroodwarImpl.self()->isEnemy(this) &&
137 !BroodwarImpl.isFlagEnabled(Flag::CompleteMapInformation)) )
138 {
139 self->minerals = 0;
140 self->gas = 0;
141 self->gatheredMinerals = 0;
142 self->gatheredGas = 0;
143 self->repairedMinerals = 0;
144 self->repairedGas = 0;
145 self->refundedMinerals = 0;
146 self->refundedGas = 0;
147
148 // Reset values
149 MemZero(self->upgradeLevel);
150 MemZero(self->hasResearched);
151 MemZero(self->isUpgrading);
152 MemZero(self->isResearching);
153
154 MemZero(self->maxUpgradeLevel);
155 MemZero(self->isResearchAvailable);
156 MemZero(self->isUnitAvailable);
157
158 if (!this->isNeutral() && index < BW::PLAYER_COUNT)
159 {
160 // set upgrade level for visible enemy units
161 for(int i = 0; i < 46; ++i)
162 {
163 for(UnitType t : UpgradeType(i).whatUses())
164 {
165 if ( self->completedUnitCount[t] > 0 )
166 self->upgradeLevel[i] = BW::BWDATA::Game.currentUpgradeLevelSC[index][i];
167 }
168 }
169 for (int i = 46; i < BW::UPGRADE_TYPE_COUNT; ++i)
170 {
171 for(UnitType t : UpgradeType(i).whatUses())
172 {
173 if ( self->completedUnitCount[t] > 0 )
174 self->upgradeLevel[i] = BW::BWDATA::Game.currentUpgradeLevelBW[index][i - 46];
175 }
176 }
177 }
178 }
179 else
180 {
181 this->wasSeenByBWAPIPlayer = true;
182
183 // set resources
184 self->minerals = BW::BWDATA::Game.minerals[index];
185 self->gas = BW::BWDATA::Game.gas[index];

Callers 3

updateMethod · 0.45
extractUnitDataMethod · 0.45
updateBulletsMethod · 0.45

Calls 10

isNeutralMethod · 0.95
whatUsesMethod · 0.80
whatResearchesMethod · 0.80
UpgradeTypeClass · 0.70
TechTypeClass · 0.70
MemZeroFunction · 0.50
isReplayMethod · 0.45
isEnemyMethod · 0.45
selfMethod · 0.45
isFlagEnabledMethod · 0.45

Tested by

no test coverage detected