public static string ToLongString(this EdictType type) { if (inverseMapping.TryGetValue(type, out var value)) { return(value); } return(type.ToString()); }
/// <summary> /// PR_ValueString /// </summary> private unsafe String ValueString(EdictType type, void *val) { String result; type &= (EdictType) ~ProgramDef.DEF_SAVEGLOBAL; switch (type) { case EdictType.ev_string: result = GetString(*( Int32 * )val); break; case EdictType.ev_entity: result = "entity " + Host.Server.NumForEdict(Host.Server.ProgToEdict(*( Int32 * )val)); break; case EdictType.ev_function: var f = _Functions[*( Int32 * )val]; result = GetString(f.s_name) + "()"; break; case EdictType.ev_field: var def = FindField(*( Int32 * )val); result = "." + GetString(def.s_name); break; case EdictType.ev_void: result = "void"; break; case EdictType.ev_float: result = (*( Single * )val).ToString("F1", CultureInfo.InvariantCulture.NumberFormat); break; case EdictType.ev_vector: result = String.Format(CultureInfo.InvariantCulture.NumberFormat, "{0,5:F1} {1,5:F1} {2,5:F1}", (( Single * )val)[0], (( Single * )val)[1], (( Single * )val)[2]); break; case EdictType.ev_pointer: result = "pointer"; break; default: result = "bad type " + type.ToString( ); break; } return(result); }
/// <summary> /// PR_UglyValueString /// Returns a string describing *data in a type specific manner /// Easier to parse than PR_ValueString /// </summary> private unsafe String UglyValueString(EdictType type, EVal *val) { type &= (EdictType) ~ProgramDef.DEF_SAVEGLOBAL; String result; switch (type) { case EdictType.ev_string: result = GetString(val->_string); break; case EdictType.ev_entity: result = Host.Server.NumForEdict(Host.Server.ProgToEdict(val->edict)).ToString( ); break; case EdictType.ev_function: var f = _Functions[val->function]; result = GetString(f.s_name); break; case EdictType.ev_field: var def = FindField(val->_int); result = GetString(def.s_name); break; case EdictType.ev_void: result = "void"; break; case EdictType.ev_float: result = val->_float.ToString("F6", CultureInfo.InvariantCulture.NumberFormat); break; case EdictType.ev_vector: result = String.Format(CultureInfo.InvariantCulture.NumberFormat, "{0:F6} {1:F6} {2:F6}", val->vector[0], val->vector[1], val->vector[2]); break; default: result = "bad type " + type.ToString( ); break; } return(result); }