Exemplo n.º 1
0
        public static string ToLongString(this EdictType type)
        {
            if (inverseMapping.TryGetValue(type, out var value))
            {
                return(value);
            }

            return(type.ToString());
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }