private void CalcPowerAdd(int timeId) { PeRoot.Log("All Online Player Calc Power Incress...."); NetMsg netMsg = new NetMsg { cmd = (int)Command.PshPower }; netMsg.PshPower = new PshPower(); Dictionary <ServerSession, PlayerData> onLineDictionary = _cacheSvc.GetOnLine(); foreach (var item in onLineDictionary) { PlayerData playerData = item.Value; ServerSession session = item.Key; int powerMax = PeRoot.GetPowerLimit(playerData.Level); if (playerData.Power >= powerMax) { continue; } else { playerData.Power += PeRoot.PowerAddCount; playerData.Time = _timeSvc.GetNowTime(); if (playerData.Power > powerMax) { playerData.Power = powerMax; } } if (!_cacheSvc.UpdatePlayerData(playerData.Id, playerData)) { netMsg.err = (int)ErrorCode.UpdateDbError; } else { netMsg.PshPower.Power = playerData.Power; session.SendMsg(netMsg); } } }