#!/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 
 |