#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#---------------------------------------------------------------------  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
##@package OnServerCMD  
 | 
# ÃüÁîÐРGMÃüÁî  
 | 
#  
 | 
# @author eggxp  
 | 
# @date 2010-4-28  
 | 
# @version 1.2  
 | 
#  
 | 
# @change: "2010-09-09 16:40" panwei ÖضÁ½Å±¾ÐÞ¸Ä  
 | 
# @change: "2011-04-07 14:30" panwei PsycoÓÅ»¯  
 | 
#---------------------------------------------------------------------  
 | 
"""Version = 2011-04-07 14:30"""  
 | 
#---------------------------------------------------------------------  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
import CMDS  
 | 
#---------------------------------------------------------------------  
 | 
GameWorld.ImportAll("Script\\ServerCMD\\" , "CMDS")  
 | 
GameWorld.ImportAll("Script\\ServerCMD\\" , "")  
 | 
#---------------------------------------------------------------------  
 | 
## ÖØÔØËùÓÐÃüÁî  
 | 
#  @param tick µ±Ç°Ê±¼ä  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def ReloadCMDS(tick):  
 | 
    scriptPath = ChConfig.GetAppPath() + "Script\\ServerCMD\\CMDS"  
 | 
    GameWorld.ReloadScript(scriptPath, "CMDS")  
 | 
      
 | 
    scriptPath = ChConfig.GetAppPath() + "Script\\ServerCMD"  
 | 
    GameWorld.ReloadScript(scriptPath, "")  
 | 
    return  
 | 
#---------------------------------------------------------------------  
 | 
## Ö´ÐÐÃüÁî  
 | 
#  @param cmd ÃüÁîÃû  
 | 
#  @param cmdList ÃüÁî²ÎÊý  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def RunCMD(cmd, cmdList = []):  
 | 
    runStr = "%s.%s"%(cmd, "OnExec")  
 | 
    #GameWorld.Log(runStr)  
 | 
    callFunc = GameWorld.GetExecFunc(CMDS, runStr)  
 | 
    if callFunc == None:  
 | 
        GameWorld.Log("Can't Find CMD = %s"%runStr)  
 | 
        return  
 | 
  
 | 
    callFunc(cmdList)  
 | 
    return  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
## ´¥·¢cmdÃüÁî  
 | 
#  @param tick µ±Ç°Ê±¼ä  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnCMD(tick):  
 | 
    GameWorld.GetPsycoFunc(__Func_OnCMD)(tick)  
 | 
    return  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
## ´¥·¢cmdÃüÁî  
 | 
#  @param tick µ±Ç°Ê±¼ä  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def __Func_OnCMD(tick):  
 | 
    cmd = GameWorld.GetGameWorld().GetCurrentCMD()  
 | 
    curList = cmd.split()  
 | 
      
 | 
    if len(curList) == 0:  
 | 
        return  
 | 
      
 | 
    cmd = curList[0]  
 | 
    del curList[0]  
 | 
    cmdList = curList  
 | 
    RunCMD(cmd, cmdList)   
 | 
    return  
 |