public byte* getObjVarString(int serial, byte* varName) { string varname = StringPointerUtils.GetAsciiString(varName); string value = MockObjVarAttachments.GetString(serial, varname); if (value == null) return null; return bytePtrFactory.MakePointerToTempString(value); }
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 int setObjVarLocation(int serial, byte* name, Location* value) { if (!Exists(serial)) return 0; string varname = StringPointerUtils.GetAsciiString(name); Location varvalue = *value; MockObjVarAttachments.AddAttachment(serial, VariableType.Location, varname, varvalue); return 1; }
public unsafe int setObjVarInt(int serial, byte* name, int value) { if (!Exists(serial)) return 0; string varname = StringPointerUtils.GetAsciiString(name); MockObjVarAttachments.AddAttachment(serial, VariableType.Integer, varname, value); return 1; }
unsafe public static string getObjVarString(int serial, string name) { byte *chars; fixed(byte *pName = ASCIIEncoding.ASCII.GetBytes(name)) chars = Core.getObjVarString(serial, pName); return(StringPointerUtils.GetAsciiString(chars)); }
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; }
/// <summary> /// Add script by name to object /// </summary> /// <param name="serial">The serial of the object to add script to</param> /// <param name="scriptName">the name of the script without extension</param> /// <param name="executeCreation">Should the creation method of the script be called?</param> /// <returns>Error message or null if successful</returns> unsafe public static string addScript(int serial, string scriptName, bool executeCreation = true) { fixed(byte *pName = ASCIIEncoding.ASCII.GetBytes(scriptName)) { byte *result = Core.addScript(serial, pName, executeCreation ? 1 : 0); if (result == null) { return(null); } return(StringPointerUtils.GetAsciiString(result)); } }
public unsafe int setObjVarString(int serial, byte *name, byte *value) { if (!Exists(serial)) { return(0); } string varname = StringPointerUtils.GetAsciiString(name); string varvalue = StringPointerUtils.GetAsciiString(value); MockObjVarAttachments.AddAttachment(serial, VariableType.String, varname, varvalue); return(1); }
public bool getObjVarLocation(int serial, byte* varName, Location* locationResult) { string varname = StringPointerUtils.GetAsciiString(varName); Location value; if (MockObjVarAttachments.GetLocation(serial, varname, out value)) { *locationResult = value; return true; } else { *locationResult = new Location(); return false; } }
public int getObjVarInt(int serial, byte* varName) { string varname = StringPointerUtils.GetAsciiString(varName); return MockObjVarAttachments.GetInt(serial, varname); }
public bool hasObjVarOfType(int serial, byte* varName, VariableType varType) { string varname = StringPointerUtils.GetAsciiString(varName); return MockObjVarAttachments.Has(serial, varType, varname); }
public void removeObjVar(int serial, byte* varName) { string varname = StringPointerUtils.GetAsciiString(varName); MockObjVarAttachments.Remove(serial, varname); }
public string ReadAsciiStringNull(int start) { byte *pStr = pData + start; return(StringPointerUtils.GetAsciiString(pStr)); }
/// <summary> /// Read a fixed length string from the packet buffer /// </summary> /// <param name="start">Index in buffer to begin reading</param> /// <param name="length">The length of the string</param> /// <returns>The string read</returns> public string ReadAsciiStringFixed(int start, int length) { length = Math.Min(start + length, Length) - start; return(StringPointerUtils.GetAsciiString(pData + start, length)); }