#!/usr/bin/python
|
# -*- coding: GBK -*-
|
|
##@package GY_Query_Offline_ViewTitle
|
# ²é¿´³ÆºÅ
|
#
|
# @author mark
|
# @date 2010-3-31
|
# @version 1.0
|
#
|
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
|
# VER = "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ
|
#
|
# Ä£¿éÏêϸ˵Ã÷-------------------------------------------------
|
#µ¼Èë
|
import GameWorld
|
import IPY_GameWorld
|
#---------------------------------------------------------------------
|
#È«¾Ö±äÁ¿
|
#---------------------------------------------------------------------
|
|
#---------------------------------------------------------------------
|
#Â߼ʵÏÖ
|
## ÇëÇóÂß¼
|
# @param query_Type ÇëÇóÀàÐÍ
|
# @param query_ID ÇëÇóµÄÍæ¼ÒID
|
# @param packCMDList ·¢°üÃüÁî [ ]
|
# @param tick µ±Ç°Ê±¼ä
|
# @return resultDisc
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def DoLogic(query_Type , query_ID , packCMDList , tick):
|
curFindPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)
|
|
if not curFindPlayer or curFindPlayer.IsEmpty():
|
return ''
|
|
curFindPlayerEquipPack = curFindPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
|
curEquipTitle = curFindPlayerEquipPack.GetAt(IPY_GameWorld.retTitle)
|
if curEquipTitle.IsEmpty():
|
curEquipTitleName = ''
|
curEquipTitleID = 0
|
else:
|
curEquipTitleName = curEquipTitle.GetName()
|
curEquipTitleID = curEquipTitle.GetItemTypeID()
|
|
|
resultDisc = {
|
'Result' : '1' ,
|
'DictName' : 'GY_GM_Offline_ViewTitle' ,
|
'EquipTitle' : '%s'%(curEquipTitleName) ,
|
}
|
|
packDisc = __GetItemPackDisc(curFindPlayer , curEquipTitleID , IPY_GameWorld.rptTitle , 'Title')
|
resultDisc.update(packDisc)
|
|
return resultDisc
|
|
#---------------------------------------------------------------------
|
## »ñÈ¡ÎïÆ·±³°ü×Öµä
|
# @param curFindPlayer µ±Ç°Íæ¼Ò
|
# @param curEquipTitleID ³ÆºÅID
|
# @param packIndex ±³°üË÷Òý
|
# @param discKey ×Öµäkey
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def __GetItemPackDisc(curFindPlayer , curEquipTitleID , packIndex , discKey):
|
itemPack = curFindPlayer.GetItemManager().GetPack(packIndex)
|
resultDisc = {discKey : {}}
|
for i in range(itemPack.GetCount()):
|
curTitle = itemPack.GetAt(i)
|
if curTitle.IsEmpty() or curTitle.GetItemTypeID() == curEquipTitleID:
|
continue
|
|
resultDisc[discKey].update({'%s'%i : '%s'%(curTitle.GetName())})
|
|
return resultDisc
|
|
#---------------------------------------------------------------------
|
#Ö´Ðнá¹û
|
## Ö´Ðнá¹û
|
# @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò
|
# @param callFunName ¹¦ÄÜÃû³Æ
|
# @param funResult ²éѯµÄ½á¹û
|
# @param tick µ±Ç°Ê±¼ä
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def DoResult(curPlayer , callFunName , funResult , tick):
|
curPlayer.GMAnswer('%s;%s'%(callFunName, funResult))
|
return
|