/// <summary> /// Generates the code for an identifier /// </summary> /// <param name="id">The symbol name</param> /// <param name="s">The Symbol node.</param> /// <returns>String containing C# code for identifier reference.</returns> private void GenerateIdentifier(string id, SYMBOL s, StringBuilder sb) { if (m_comms != null) { object value = m_comms.LookupModConstant(id); if (value != null) { string retval = null; if (value is int) { retval = String.Format("new LSL_Types.LSLInteger({0})", ((int)value).ToString()); } else if (value is float) { retval = String.Format("new LSL_Types.LSLFloat({0})", ((float)value).ToString()); } else if (value is string) { retval = String.Format("new LSL_Types.LSLString(\"{0}\")", ((string)value)); } else if (value is OpenMetaverse.UUID) { retval = String.Format("new LSL_Types.key(\"{0}\")", ((OpenMetaverse.UUID)value).ToString()); } else if (value is OpenMetaverse.Vector3) { retval = String.Format("new LSL_Types.Vector3(\"{0}\")", ((OpenMetaverse.Vector3)value).ToString()); } else if (value is OpenMetaverse.Quaternion) { retval = String.Format("new LSL_Types.Quaternion(\"{0}\")", ((OpenMetaverse.Quaternion)value).ToString()); } else { retval = id; } Generate(retval, s, sb); return; } } Generate(CheckName(id), s, sb); return; }