using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace HaloObjects
{
    public interface MetaNode : ICloneable
    {
        void Read(BinaryReader br);
        void Read(BinaryReader br, int Magic);
        void Write(BinaryWriter bw);

        object GetValue();
        void SetValue(object Value);

        int GetSize();

        void Compile(BinaryWriter bw, int Magic);
        void Decompile(BinaryWriter bw, int Magic);

        string GetName();
    }
}
