// onPick回调
    public static bool onPick(XMLEventStruct e, List <string> param)
    {
        if (!(e.mParams.Count > 0 && param.Count > 0))
        {
            return(false);
        }

        string strParam = param[0];

        if (strParam == null || strParam.Length < 1)
        {
            return(false);
        }

        string strEvent = e.mParams[0];

        if (strEvent == null || strEvent.Length < 1)
        {
            return(false);
        }

        if (e.mParams.Count == 1)
        {
            return(strParam.Equals(strEvent));
        }
        else if (e.mParams.Count == 2)
        {
            return(strParam.Equals(strEvent) &&
                   (Convert.ToInt32(param[1]) == Convert.ToInt32(e.mParams[1])));
        }

        return(false);
    }
    // 摄像机事件触发
    public static bool onCameraPathEvent(XMLEventStruct e, List <string> param)
    {
        if (param.Count != 1)
        {
            return(false);
        }

        if (e.mParams.Count != 1)
        {
            return(false);
        }

        string strParam = param[0];

        if (strParam == null || strParam.Length < 1)
        {
            return(false);
        }

        string strEvent = e.mParams[0];

        if (strEvent == null || strEvent.Length < 1)
        {
            return(false);
        }

        return(strParam.Equals(strEvent));
    }
    // 解析Events
    private void ParseEvents(XmlNode node)
    {
        XmlNodeList nodeList = node.ChildNodes;

        for (int i = 0; i < nodeList.Count; ++i)
        {
            XmlNode childNode = nodeList[i];
            if (childNode != null && childNode.Name == "Event")
            {
                string type = childNode.Attributes["type"].Value;
                if (type == null || type.Length < 1)
                {
                    continue;
                }

                XMLEventStruct xmlEvent = new XMLEventStruct();
                xmlEvent.mName = childNode.Attributes["name"].Value;
                xmlEvent.mType = childNode.Attributes["type"].Value;

                int          index  = 1;
                XmlAttribute attrib = null;
                while ((attrib = childNode.Attributes["param" + index.ToString()]) != null)
                {
                    xmlEvent.mParams.Add(attrib.Value);
                    index++;
                }

                //mEventsList.Add(xmlEvent);
                if (mEventsNameMap.ContainsKey(xmlEvent.mName))
                {
                    GameDebug.LogError("ScriptXML Error : Event自命名重复!name:" + xmlEvent.mName);
                }

                mEventsNameMap.Add(xmlEvent.mName, xmlEvent);

                ArrayList arr = null;
                if (mEventsTypeMap.ContainsKey(xmlEvent.mType))
                {
                    arr = mEventsTypeMap[xmlEvent.mType];
                }

                if (arr == null)
                {
                    arr = new ArrayList();
                    mEventsTypeMap.Add(xmlEvent.mType, arr);
                }

                arr.Add(xmlEvent);
            }
        }

        mEventsInited = true;
    }
    // onStoryEnd回调
    public static bool onStoryEnd(XMLEventStruct e, List <string> param)
    {
        if (param.Count != 1)
        {
            return(false);
        }

        if (e.mParams.Count != 1)
        {
            return(false);
        }

        int intParam = int.Parse(param[0]);
        int intEvent = int.Parse(e.mParams[0]);

        return(intParam == intEvent);
    }
 public static bool onGrowthTriggerFinish(XMLEventStruct e, List <string> param)
 {
     return(true);
 }
 // onSceneInited回调
 public static bool onSceneInited(XMLEventStruct e, List <string> param)
 {
     return(true);
 }
 // onGameStart回调
 public static bool onGameStart(XMLEventStruct e, List <string> param)
 {
     return(true);
 }