public bool LoadNodeTreeFromStreamRecursive(NullNodeTree nodeTree, NullMemoryStream stream) { nodeTree.Clear(); bool res = stream.ReadString(out nodeTree.NodeName); res &= stream.ReadInt(out nodeTree.NodeHandle); res &= stream.ReadInt(out nodeTree.GroupId); bool nameHandleOnly = false; res &= stream.ReadBool(out nameHandleOnly); if (!nameHandleOnly) { res &= stream.ReadVector3(out Pos); res &= stream.ReadQuaternion(out Quat); } int count; res &= stream.ReadInt(out count); nodeTree.SetNumChildren(count); for (int i = 0; i < nodeTree.NumChildren; i++) { NullNodeTree node = nodeTree.Children[i]; res &= LoadNodeTreeFromStreamRecursive(node, stream); } return(res); }
public bool LoadFromStream(NullMemoryStream stream) { bool res = stream.ReadInt(out mHandle); res &= stream.ReadInt(out mParent); res &= stream.ReadVector3(out mPos); res &= stream.ReadQuaternion(out mQuat); return(res); }