Example #1
0
    public void DestroyScript(string szfile)
    {
        CGameScript pScript = null;

        m_mapScript.TryGetValue(szfile, out pScript);
        if (pScript != null)
        {
            m_mapScript.Remove(szfile);
        }
    }
Example #2
0
    public CGameScript      GetScript(string szfile)
    {
        CGameScript pScript = null;

        m_mapScript.TryGetValue(szfile, out pScript);
        if (pScript != null)
        {
            return(pScript);
        }

        return(null);
    }
Example #3
0
    public void     OnTalk(uint npcID)
    {
        string scriptfile = GetNpcScriptFile(npcID);

        if (scriptfile != "")
        {
            CGameScript pScript = CScriptLuaMgr.Inst.CreateScript(scriptfile, true);
            if (pScript != null)
            {
                pScript.GetStoreFunction("OnTalk" + npcID.ToString());
                pScript.RunFunction(0, 0);
            }
        }
    }
Example #4
0
    public void OnQuestTalk(uint questid, int step)
    {
        uint   npcid      = CQuestMgr.Inst.GetTalkNPCTypeID();
        string scriptfile = GetNpcScriptFile(npcid);

        if (scriptfile != "")
        {
            CGameScript pScript = CScriptLuaMgr.Inst.CreateScript(scriptfile, true);
            if (pScript != null)
            {
                pScript.GetStoreFunction("OnQuestTalk" + npcid.ToString());
                pScript.PushUint(questid);
                pScript.PushInt(step);
                pScript.RunFunction(2, 0);
            }
        }
    }
Example #5
0
    public CGameScript      CreateScript(string szfile, bool bcreate)
    {
        CGameScript pScript = null;

        m_mapScript.TryGetValue(szfile, out pScript);
        if (pScript != null)
        {
            if (bcreate)
            {
                m_mapScript.Remove(szfile);
            }
            else
            {
                return(pScript);
            }
        }

        pScript = new CGameScript();
        if (pScript.LoadFile(szfile))
        {
            m_mapScript.Add(szfile, pScript);
        }
        return(pScript);
    }