Ejemplo n.º 1
0
        protected new static void GenerateTypeTree(TypeTreeContext context)
        {
            Component.GenerateTypeTree(context);
            TransferMetaFlags flags = IsAlign(context.Version) ? TransferMetaFlags.AlignBytesFlag : TransferMetaFlags.NoTransferFlags;

            context.AddByte(EnabledName, flags);
        }
Ejemplo n.º 2
0
 private void BeginArrayInner(string type, string name, TransferMetaFlags flags)
 {
     AddNode(type, name, -1);
     BeginChildren();
     AddNode(TypeTreeUtils.ArrayName, TypeTreeUtils.ArrayName, -1, 1, true, DefaultArrayFlag | flags);
     BeginChildren();
     AddInt32(TypeTreeUtils.SizeName);
 }
Ejemplo n.º 3
0
 public TypeTreeNode(byte depth, bool isArray, string type, string name, int byteSize, int index, TransferMetaFlags metaFlag)
 {
     Depth    = depth;
     IsArray  = isArray;
     Type     = type;
     Name     = name;
     ByteSize = byteSize;
     Index    = index;
     MetaFlag = metaFlag;
 }
Ejemplo n.º 4
0
 public void AddPPtr(string type, string name, TransferMetaFlags flags)
 {
     AddNode($"PPtr<{type}>", name, 0, 1, flags);
     BeginChildren();
     AddInt32(PPtr <Object> .FileIDName);
     if (PPtr <Object> .IsLongID(Version))
     {
         AddInt64(PPtr <Object> .PathIDName);
     }
     else
     {
         AddInt32(PPtr <Object> .PathIDName);
     }
     EndChildren();
 }
Ejemplo n.º 5
0
        private void AddNode(string type, string name, int size, int version, bool isArray, TransferMetaFlags flags)
        {
            TypeTreeNode node = new TypeTreeNode();

            node.Version     = version;
            node.Depth       = (byte)Depth;
            node.ByteSize    = size;
            node.Type        = type;
            node.Name        = name;
            node.Index       = Index;
            node.IsArrayBool = isArray;
            node.MetaFlag    = flags;
            m_nodes.Add(node);

            DepthIndex = Index;
            if (Size >= 0)
            {
                if (size >= 0)
                {
                    Size += size;
                }
                else
                {
                    Size = -1;
                }
            }
            Index++;
        }
Ejemplo n.º 6
0
 public void AddNode(string type, string name, int size, int version, TransferMetaFlags flags)
 {
     AddNode(type, name, size, version, false, TransferMetaFlags.NoTransferFlags);
 }
Ejemplo n.º 7
0
 public void BeginArray(string name, TransferMetaFlags flags)
 {
     BeginArrayInner(TypeTreeUtils.VectorName, name, flags);
 }
Ejemplo n.º 8
0
 public void AddArray(string name, TransferMetaFlags flags, TypeTreeGenerator generator)
 {
     BeginArray(name, flags);
     generator.Invoke(this, TypeTreeUtils.DataName);
     EndArray();
 }
Ejemplo n.º 9
0
 public void AddBool(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.BoolName, name, sizeof(bool), 1, flags);
 }
Ejemplo n.º 10
0
 public void AddDouble(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.DoubleName, name, sizeof(double), 1, flags);
 }
Ejemplo n.º 11
0
 public void AddSingle(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.FloatName, name, sizeof(float), 1, flags);
 }
Ejemplo n.º 12
0
 public void AddUInt64(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.UInt64Name, name, sizeof(ulong), 1, flags);
 }
Ejemplo n.º 13
0
 public void AddUInt32(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.UnsignedIntName, name, sizeof(uint), 1, flags);
 }
Ejemplo n.º 14
0
 public void AddUInt16(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.UInt16Name, name, sizeof(ushort), 1, flags);
 }
Ejemplo n.º 15
0
 public void AddByte(string name, TransferMetaFlags flags)
 {
     AddNode(TypeTreeUtils.UInt8Name, name, sizeof(byte), 1, flags);
 }
Ejemplo n.º 16
0
 public void AddPPtr <T>(string name, TransferMetaFlags flags)
 {
     AddPPtr(typeof(T).Name, name, flags);
 }
Ejemplo n.º 17
0
 public void AddPPtr(string type, string name, TransferMetaFlags flags)
 {
     PPtrLayout.GenerateTypeTree(this, type, name);
     Nodes[DepthIndex].MetaFlag = flags;
 }