| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package PlayerLoginDayAward  | 
| #  | 
| # @todo: ÀۼƵǽÀñ  | 
| # @author xdh  | 
| # @date 2018-03-05 20:30  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö:  | 
| #"""Version = 2018-03-05 20:30"""  | 
| #------------------------------------------------------------------------------   | 
|   | 
| import ChConfig  | 
| import GameWorld  | 
| import NetPackCommon  | 
| import ChPyNetSendPack  | 
| import ItemCommon  | 
| import IPY_GameWorld  | 
| import PlayerControl  | 
| import ItemControler  | 
| import DataRecordPack  | 
| import IpyGameDataPY  | 
|   | 
|   | 
| ## ondayÌí¼ÓÀۼƵǽÌìÊý  | 
| #  @param curPlayer  | 
| #  @return None  | 
| def NotePlayerLoginDayCnt(curPlayer):  | 
|     cnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayCnt) + 1  | 
|     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginDayCnt, cnt)  | 
|       | 
|     NotifyPlayerLoginDayAward(curPlayer)  | 
|     return  | 
|   | 
|   | 
|   | 
| ## µÇ½֪ͨÀۼƽ±ÀøÐÅÏ¢  | 
| #  @param curPlayer  | 
| #  @return None  | 
| def OnLoginNotifyLoginDayAward(curPlayer):  | 
|     NotifyPlayerLoginDayAward(curPlayer)  | 
|     return  | 
|       | 
|       | 
| ## Í¨ÖªÀۼƵǽÐÅÏ¢  | 
| #  @param curPlayer  | 
| #  @return None  | 
| def NotifyPlayerLoginDayAward(curPlayer):  | 
|     sendPack = ChPyNetSendPack.tagMCTotalLoginDayCntInfo()  | 
|     sendPack.Clear()  | 
|     sendPack.DayCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayCnt)      | 
|     sendPack.AwardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayAward)  | 
|       | 
|     #֪ͨ¿Í»§¶Ëʱ¼ä  | 
|     NetPackCommon.SendFakePack(curPlayer, sendPack)  | 
|     return  | 
|   | 
|   | 
| ## ÁìÈ¡ÀۼƵǽ½±Àø  | 
| #  @param curPlayer  | 
| #  @return None  | 
| def GetTotalLoginDayAward(index, clientPack, tick):  | 
|     curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)  | 
|     # µÚÒ»ÌìΪ1  | 
|     cnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayCnt)  | 
|       | 
|     index = clientPack.Index  | 
|     if index > cnt:  | 
|         #µÇ½´ÎÊý²»¹»  | 
|         return  | 
|       | 
|     awardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LoginDayAward)  | 
|     awardMark = pow(2, index-1)  | 
|     if awardInfo & awardMark:  | 
|         #ÒÑÁìÈ¡  | 
|         return  | 
|       | 
|     ipyData = IpyGameDataPY.GetIpyGameData('LoginDayAward', index)  | 
|     if not ipyData:  | 
|         return  | 
|     job = curPlayer.GetJob()  | 
|     awardDict = ipyData.GetReward()  | 
|     if str(job) not in awardDict:  | 
|         return  | 
|     itemList = awardDict[str(job)]  | 
|       | 
|     # ¼ì²é±³°ü  | 
|     needSpace = len(itemList)  | 
|     packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)  | 
|     if needSpace > packSpace:  | 
|         PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")  | 
|         return  | 
|       | 
|     # ¸øÎïÆ·  | 
|     for itemID, itemCount in itemList:  | 
|         ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])  | 
|     ItemControler.NotifyGiveAwardInfo(curPlayer, itemList, "LoginDayAward")  | 
|       | 
|     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LoginDayAward, awardInfo | awardMark)  | 
|       | 
|   | 
|     # ¼Ç¼Áìȡʼþ  | 
|     DataRecordPack.DR_LoginDayAward(curPlayer, index)  | 
|       | 
|     NotifyPlayerLoginDayAward(curPlayer)  | 
|     return  | 
|   | 
|   |