public static NPCScript GetOrAdd(uint loadedObjectID, string fileName, NPCScriptType type) { var script = Envir.Scripts.SingleOrDefault(x => x.Value.FileName.Equals(fileName, StringComparison.OrdinalIgnoreCase) && x.Value.LoadedObjectID == loadedObjectID).Value; if (script != null) { return(script); } return(new NPCScript(loadedObjectID, fileName, type)); }
private NPCScript(uint loadedObjectID, string fileName, NPCScriptType type) { ScriptID = ++Envir.ScriptIndex; LoadedObjectID = loadedObjectID; FileName = fileName; Type = type; Load(); Envir.Scripts.Add(ScriptID, this); }
public NPCScript(uint loadedObjectID, string fileName, NPCScriptType type) { ScriptID = ++Envir.ScriptIndex; LoadedObjectID = loadedObjectID; FileName = fileName; Type = type; LoadInfo(); LoadGoods(); Envir.Scripts.Add(ScriptID, this); }