Пример #1
0
    private void CalcStaminaGrow(int timeID)
    {
        //计算体力增长
        PECommon.Log("All  Onlion Player Calc Power Increase....");
        GameMsg msg = new GameMsg
        {
            cmd = (int)CMD.PshStamina
        };

        msg.pshStamina = new PshStamina();

        //更新在线玩家体力
        Dictionary <ServerSession, PlayerData> onLineSessionDic = cacheSvc.GetOnlineSessionDic();

        foreach (ServerSession session in onLineSessionDic.Keys)
        {
            PlayerData playerData = onLineSessionDic[session];
            int        maxStamina = PECommon.GetStaminaLimitByLv(playerData.lv);
            if (playerData != null)
            {
                if (playerData.stamina < maxStamina)
                {
                    playerData.stamina += PECommon.StaminaAddCount;
                    playerData.time     = TimerSvc.Instance.GetNowTime();
                    if (playerData.stamina > maxStamina)
                    {
                        playerData.stamina = maxStamina;
                    }
                }

                if (!cacheSvc.UpdatePlayerData(playerData.id, playerData))
                {
                    msg.err = (int)ErrorCode.UpdateDBError;
                }
                else
                {
                    msg.pshStamina.stamina = playerData.stamina;
                    session.SendMsg(msg);
                }
            }
            else
            {
                msg.err = (int)ErrorCode.ServerDataError;
            }
        }

        //更新离线玩家体力
    }