protected bool EditByteHexValue(TagNode tag) { if (FormRegistry.EditByteArray != null) { byte[] byteData = new byte[tag.ToTagByteArray().Length]; Array.Copy(tag.ToTagByteArray().Data, byteData, byteData.Length); ByteArrayFormData data = new ByteArrayFormData() { NodeName = NodeName, BytesPerElement = 1, Data = byteData, }; if (FormRegistry.EditByteArray(data)) { tag.ToTagByteArray().Data = data.Data; //Array.Copy(data.Data, tag.ToTagByteArray().Data, tag.ToTagByteArray().Length); IsDataModified = true; return(true); } } return(false); }
public static string GetTagNodeText(TagNode tag) { if (tag == null) return null; switch (tag.GetTagType()) { case TagType.TAG_BYTE: case TagType.TAG_SHORT: case TagType.TAG_INT: case TagType.TAG_LONG: case TagType.TAG_FLOAT: case TagType.TAG_DOUBLE: case TagType.TAG_STRING: return tag.ToString(); case TagType.TAG_BYTE_ARRAY: return tag.ToTagByteArray().Length + " bytes"; case TagType.TAG_LIST: return tag.ToTagList().Count + " entries"; case TagType.TAG_COMPOUND: return tag.ToTagCompound().Count + " entries"; } return null; }
protected bool EditByteHexValue (TagNode tag) { if (FormRegistry.EditByteArray != null) { byte[] byteData = new byte[tag.ToTagByteArray().Length]; Array.Copy(tag.ToTagByteArray().Data, byteData, byteData.Length); ByteArrayFormData data = new ByteArrayFormData() { NodeName = NodeName, BytesPerElement = 1, Data = byteData, }; if (FormRegistry.EditByteArray(data)) { tag.ToTagByteArray().Data = data.Data; //Array.Copy(data.Data, tag.ToTagByteArray().Data, tag.ToTagByteArray().Length); IsDataModified = true; return true; } } return false; }
private static void SerializeScaler(TagNode tag, StringBuilder str) { switch (tag.GetTagType()) { case TagType.TAG_STRING: str.Append("\"" + tag.ToTagString().Data + "\""); break; case TagType.TAG_BYTE: str.Append(tag.ToTagByte().Data); break; case TagType.TAG_SHORT: str.Append(tag.ToTagShort().Data); break; case TagType.TAG_INT: str.Append(tag.ToTagInt().Data); break; case TagType.TAG_LONG: str.Append(tag.ToTagLong().Data); break; case TagType.TAG_FLOAT: str.Append(tag.ToTagFloat().Data); break; case TagType.TAG_DOUBLE: str.Append(tag.ToTagDouble().Data); break; case TagType.TAG_BYTE_ARRAY: str.Append(Convert.ToBase64String(tag.ToTagByteArray().Data)); /*if (tag.ToTagByteArray().Length == (16 * 16 * 128 / 2)) { str.Append(Base16.Encode(tag.ToTagByteArray().Data, 1)); } else { str.Append(Base16.Encode(tag.ToTagByteArray().Data, 2)); }*/ break; } }