--------------------------------------------- UPDATE -----------------------------------------------------
| 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]; |
no test coverage detected