public unsafe bool hasScript(int serial, byte* scriptName) { ItemObject item; if (!World.TryGetItem(serial, out item)) return false; return MockScriptAttachments.Has(serial, StringPointerUtils.GetAsciiString(scriptName)); }
public unsafe bool detachScript(int serial, byte* scriptName) { ItemObject item; if (!World.TryGetItem(serial, out item)) return false; MockScriptAttachments.Remove(serial, StringPointerUtils.GetAsciiString(scriptName)); return true; }
public unsafe byte* addScript(int serial, byte* scriptName, int executeCreation) { if(!Exists(serial)) return bytePtrFactory.ItemNotFound; string script = StringPointerUtils.GetAsciiString(scriptName); if (!MockScriptAttachments.IsValidScriptName(script)) return bytePtrFactory.InvalidScriptClass; MockScriptAttachments.AddScript(serial, script); return null; }
public bool DeleteItem(Serial serial) { if (WorldObjects.ContainsKey(serial)) { MockScriptAttachments.DeleteAllFor(serial); MockObjVarAttachments.DeleteAllFor(serial); ObjectPropertyExtensions.Purge(WorldObjects[serial]); WorldObjects.Remove(serial); return(true); } else { return(false); } }