1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/python
# -*- coding: GBK -*-
#
##@package ItemState
# µØ°åÎïÆ·´¦Àí
#
# @author eggxp
# @date 2010-4-23
# @version 1.4
#
# @change: "2011-04-07 14:30" panwei PsycoÓÅ»¯
# @change: "2013-06-07 16:00" wdb Ð޸ĽðÇ®Ïûʧʱ¼ä
# @change: "2013-07-02 16:30" wdb ÐÞ¸ÄÎäÆ÷µôÂ䣬ʰȡ
# @change: "2014-06-07 13:50" xmnathan µØ°åÎïÆ·Ïûʧʱ¼ä¶ÁÈ¡ÅäÖÃ
#---------------------------------------------------------------------
#"""Version = 2014-06-07 13:50"""
#---------------------------------------------------------------------
import GameWorld
import IpyGameDataPY
#---------------------------------------------------------------------
 
#---------------------------------------------------------------------
 
#Èç¹û¸ÃÎïÆ·Îª¹ÖÎïËÀÍöºóµô³ö£¬ÄÇôɱËÀ¸Ã¹ÖÎïµÄ¸öÈ˼°Æä¶ÓÎé³ÉÔ±¿ÉÒÔʰȡ´ËÎïÆ·¡£15ÃëºóËùÓÐÈË·½¿É×ÔÓÉʰȡ¡£
#Èç¹û¸ÃÎïÆ·ÊÇÍæ¼ÒÊܵ½PKºóµô³ö£¬ÄÇôɱËÀ¸ÃÍæ¼ÒµÄ¸öÈ˼°Æä¶ÓÎé³ÉÔ±¿ÉÒÔʰȡ´ËÎïÆ·¡£15ÃëºóËùÓÐÈË¿É×ÔÓÉʰȡ¡£
#ÆäÓàÇé¿ö£ºËùÓÐÍæ¼Ò¾ùÐèÒª¾²´ý15Ãëºó·½¿Éʰȡ´ËÎïÆ·¡£
#
 
## µ±¸öµØÍ¼ÎïÆ·Âß¼­´¦Àí£¬ÊÇ·ñÏûʧ
#  @param curMapItem µ±Ç°µØÍ¼ÎïÆ·
#  @param tick µ±Ç°Ê±¼ä
#  @return 0 1Ïûʧ
def ProcessSingleMapItem(curMapItem, disappearTime, tick):
    
    #µ¥¸öÎïÆ·´¦ÀíÂß¼­
    if tick - curMapItem.GetDropTick() >= disappearTime:
        curMapItem.Disappear()
        return 1
 
    return 0
 
 
## µØ°åÉϵÄÎïÆ·ÏûʧÂß¼­ 
#  @param tick µ±Ç°Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def ProcessState(tick):
    GameWorld.GetPsycoFunc(__Func_ProcessState)(tick)
    return
 
## µØ°åÉϵÄÎïÆ·ÏûʧÂß¼­ 
#  @param tick µ±Ç°Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def __Func_ProcessState(tick):
    #½«Éæ¼°µ½C++ÖÐÁбíɾ³ýµÄ¹¦ÄÜ,ͳһ¸Ä³É -> ¸´ÖÆPyÁбíºó,È»ºó½øÐÐɾ³ýÂß¼­ (ÒòWhileÓм¸Âʽ«µ¼ÖÂËÀËø)
    mapItem_List = []
    mapItemManager = GameWorld.GetMapItemManager()
    for index in range(mapItemManager.GetMapItemCount()):
        mapItem = mapItemManager.GetMapItemByIndex(index)
        mapItem_List.append(mapItem)
    
    disappearTime = IpyGameDataPY.GetFuncCfg("MapItemDisappearTime")
    for curMapItem in mapItem_List:
        #ÎÞ´ËÎïÆ·
        if not curMapItem or curMapItem.IsEmpty():
            continue
        
        #Ö´ÐÐÏûʧÂß¼­
        ProcessSingleMapItem(curMapItem, disappearTime, tick)
        
    return