public void DestroyScript(string szfile) { CGameScript pScript = null; m_mapScript.TryGetValue(szfile, out pScript); if (pScript != null) { m_mapScript.Remove(szfile); } }
public CGameScript GetScript(string szfile) { CGameScript pScript = null; m_mapScript.TryGetValue(szfile, out pScript); if (pScript != null) { return(pScript); } return(null); }
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); } } }
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); } } }
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); }