public override TagNode BuildTree() { TagNodeCompound tree = base.BuildTree() as TagNodeCompound; tree["PushX"] = new TagNodeDouble(_pushX); tree["PushZ"] = new TagNodeDouble(_pushZ); tree["Fuel"] = new TagNodeShort(_fuel); return tree; }
private void WriteDouble(TagNodeDouble val) { byte[] gzBytes = BitConverter.GetBytes(val.Data); if (BitConverter.IsLittleEndian) { Array.Reverse(gzBytes); } _stream.Write(gzBytes, 0, 8); }
private TagNode ReadDouble() { byte[] gzBytes = new byte[8]; _stream.Read(gzBytes, 0, 8); if (BitConverter.IsLittleEndian) { Array.Reverse(gzBytes); } TagNodeDouble val = new TagNodeDouble(BitConverter.ToDouble(gzBytes, 0)); return(val); }
internal static void AddTagToNode(TreeNode node, int descriptionIndex, TagType type) { TagNode tag = GetTagNode(node); if (tag == null) return; if (tag.GetTagType() != TagType.TAG_COMPOUND && tag.GetTagType() != TagType.TAG_LIST) return; if (tag.GetTagType() == TagType.TAG_LIST && tag.ToTagList().ValueType != type && tag.ToTagList().Count > 0) return; TagNode newNode = null; switch (type) { case TagType.TAG_BYTE: newNode = new TagNodeByte(); break; case TagType.TAG_SHORT: newNode = new TagNodeShort(); break; case TagType.TAG_INT: newNode = new TagNodeInt(); break; case TagType.TAG_LONG: newNode = new TagNodeLong(); break; case TagType.TAG_FLOAT: newNode = new TagNodeFloat(); break; case TagType.TAG_DOUBLE: newNode = new TagNodeDouble(); break; case TagType.TAG_BYTE_ARRAY: newNode = new TagNodeByteArray(); break; case TagType.TAG_STRING: newNode = new TagNodeString(); break; case TagType.TAG_LIST: newNode = new TagNodeList(TagType.TAG_BYTE); break; case TagType.TAG_COMPOUND: newNode = new TagNodeCompound(); break; case TagType.TAG_INT_ARRAY: newNode = new TagNodeIntArray(); break; } if (tag is TagNodeCompound) { TagNodeCompound ctag = tag as TagNodeCompound; EditValue form = new EditValue(""); foreach (string key in ctag.Keys) { form.InvalidNames.Add(key); } if (form.ShowDialog() != DialogResult.OK) return; ctag.Add(form.NodeName, newNode); TreeNode tnode = NodeFromTag(newNode, descriptionIndex, form.NodeName); node.Nodes.Add(tnode); tnode.TreeView.SelectedNode = tnode; tnode.Expand(); } else if (tag is TagNodeList) { var ltag = tag as TagNodeList; if (ltag.ValueType != type) ltag.ChangeValueType(type); ltag.Add(newNode); TreeNode tnode = NodeFromTag(newNode, descriptionIndex); node.Nodes.Add(tnode); tnode.TreeView.SelectedNode = tnode; tnode.Expand(); } node.Text = GetNodeText(node); TreeNode baseNode = BaseNode(node); if (baseNode != null) { (baseNode.Tag as DataNode).Modified = true; } }
public TagDoubleDataNode(TagNodeDouble tag) : base(tag) { }