Exemple #1
0
        public string GetString(DAIEbx EbxFile, ref int TabCount, bool bPrintDescriptor = true)
        {
            String RetVal = "";

            if (Descriptor.FieldName != "array")
            {
                if (bPrintDescriptor)
                {
                    TabCount++;
                    RetVal += DAIEbx.Tabs(TabCount) + "<" + Descriptor.FieldName + ">\n";
                    TabCount++;
                }
            }
            else
            {
                TabCount++;
            }

            foreach (DAIField CurField in Fields)
            {
                RetVal += CurField.GetString(EbxFile, ref TabCount);
            }

            if (Descriptor.FieldName != "array")
            {
                if (bPrintDescriptor)
                {
                    TabCount--;
                    RetVal += DAIEbx.Tabs(TabCount) + "</" + Descriptor.FieldName + ">\n";
                    TabCount--;
                }
            }
            else
            {
                TabCount--;
            }

            return(RetVal);
        }
Exemple #2
0
        public string GetString(DAIEbx EbxFile, ref int TabCount)
        {
            String RetVal = "";

            if (Descriptor.FieldName == "$")
            {
                TabCount--;
                RetVal += ComplexValue.GetString(EbxFile, ref TabCount);
                TabCount++;
                return(RetVal);
            }

            RetVal += DAIEbx.Tabs(TabCount) + "<" + Descriptor.FieldName + ">";

            switch (ValueType)
            {
            case DAIFieldType.DAI_Complex:
            case DAIFieldType.DAI_Array:
                RetVal += "\n" + ComplexValue.GetString(EbxFile, ref TabCount);
                RetVal += DAIEbx.Tabs(TabCount) + "</" + Descriptor.FieldName + ">\n";
                return(RetVal);

            case DAIFieldType.DAI_String:
                RetVal += GetStringValue();
                break;

            case DAIFieldType.DAI_Int:
                RetVal += GetIntValue().ToString("X8");
                break;

            case DAIFieldType.DAI_UInt:
                RetVal += GetUIntValue().ToString("X8");
                break;

            case DAIFieldType.DAI_Float:
                RetVal += GetFloatValue().ToString("F3");
                break;

            case DAIFieldType.DAI_Short:
                RetVal += GetShortValue().ToString("X4");
                break;

            case DAIFieldType.DAI_UShort:
                RetVal += GetUShortValue().ToString("X4");
                break;

            case DAIFieldType.DAI_Byte:
                RetVal += GetByteValue().ToString("X2");
                break;

            case DAIFieldType.DAI_Long:
                RetVal += GetLongValue().ToString("X16");
                break;

            case DAIFieldType.DAI_LongLong:
                for (int i = 0; i < Value.Length; i++)
                {
                    RetVal += Value[i].ToString("X2");
                }
                break;

            case DAIFieldType.DAI_Enum:
                RetVal += GetEnumValue();
                break;

            case DAIFieldType.DAI_Guid:
            {
                uint UIntValue = GetUIntValue();
                if ((UIntValue >> 31) == 1)
                {
                    /* External Guid */
                    DAIExternalGuid Guid = EbxFile.ExternalGuids.ElementAt((int)(UIntValue & 0x7fffffff));
                    RetVal += Guid.ToString();
                }
                else if (UIntValue == 0)
                {
                    /* NULL Guid */
                    RetVal += "00";
                }
                else
                {
                    /* Internal Guid */
                    byte[] Guid = EbxFile.InternalGuids[(int)(UIntValue - 1)];
                    for (int i = 0; i < Guid.Length; i++)
                    {
                        RetVal += Guid[i].ToString("X2");
                    }
                }
            }
            break;
            }

            RetVal += "</" + Descriptor.FieldName + ">\n";
            return(RetVal);
        }