back_recharge
wangyuan 2019-03-28 18:32:08 +08:00
parent d40956b247
commit fc15794db3
4 changed files with 7 additions and 11 deletions

View File

@ -50,7 +50,8 @@ public class GetPlayerInfoHandler extends BaseHandler{
}
CommonProto.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager(), user.getPlayerInfoManager().getMapId(), user.getMapManager().getCurMapId());
boolean isInMap = user.getMapManager().getCurMapId() != 0;
CommonProto.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager(), user.getPlayerInfoManager().getMapId(), user.getMapManager().getCurMapId(),isInMap);
PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse
= PlayerInfoProto.GetPlayerInfoResponse.newBuilder()
.setPlayer(player)

View File

@ -67,7 +67,7 @@ public class MapLogic {
public void enterMap(ISession iSession, int mapId, int teamId, MessageTypeProto.MessageType messageType) throws Exception {
int uid = iSession.getUid();
User user = UserManager.getUser(uid);
int energy = user.getPlayerInfoManager().getEnergy();
int energy = user.getPlayerInfoManager().getEnergy(false);
MapManager mapManager = user.getMapManager();
if (teamId == 0) {
LOGGER.info("enterMap() uid=>{} teamId =>{} ", uid, teamId);

View File

@ -138,11 +138,6 @@ public class PlayerManager extends MongoBase {
}
public void setMapId(int mapId) throws Exception {
if(mapId == 0){
setLastUpdateEnergyTime((int)(System.currentTimeMillis()/1000));
} else {
setLastUpdateEnergyTime(GlobalsDef.BATTLING);
}
updateString("mapId", mapId);
this.mapId = mapId;
}
@ -165,8 +160,8 @@ public class PlayerManager extends MongoBase {
this.clientVersion = clientVersion;
}
public int getEnergy() {
if(lastUpdateEnergyTime != GlobalsDef.BATTLING && energy< SGameSetting.getGameSetting().getInitialEnergy()){
public int getEnergy(boolean isInMap) {
if(!isInMap && energy< SGameSetting.getGameSetting().getInitialEnergy()){
int updateTime = (int)(System.currentTimeMillis()/1000);
int[] energyRecoverSpeed = SGameSetting.getGameSetting().getEnergyRecoverSpeed();
int addValue = (updateTime - lastUpdateEnergyTime)/60/energyRecoverSpeed[1] * energyRecoverSpeed[0];

View File

@ -17,7 +17,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
public class CBean2Proto {
public static CommonProto.Player getPlayer(int uid, PlayerManager playerManager, int maxMapId, int mapId) {
public static CommonProto.Player getPlayer(int uid, PlayerManager playerManager, int maxMapId, int mapId,boolean isInMap) {
CommonProto.Player player = CommonProto.Player
.newBuilder()
.setUid(uid)
@ -28,7 +28,7 @@ public class CBean2Proto {
.setFamilyId(playerManager.getFamilyId())
.setHead(playerManager.getHead())
.setCurMapId((maxMapId == 0 && mapId == 0) ? 100 : mapId)
.setEnergy(playerManager.getEnergy())
.setEnergy(playerManager.getEnergy(isInMap))
.setLastUpdateEnergyTime(playerManager.getLastUpdateEnergyTime())
.setServerTime((int)(System.currentTimeMillis()/1000))
.build();