namespace Oni.Metadata { internal abstract class MetaTypeVisitor : IMetaTypeVisitor { public virtual void VisitStruct(MetaStruct type) { } public virtual void VisitArray(MetaArray type) { } public virtual void VisitVarArray(MetaVarArray type) { } public virtual void VisitEnum(MetaEnum type) { type.BaseType.Accept(this); } public virtual void VisitByte(MetaByte type) { } public virtual void VisitInt16(MetaInt16 type) { } public virtual void VisitUInt16(MetaUInt16 type) { } public virtual void VisitInt32(MetaInt32 type) { } public virtual void VisitUInt32(MetaUInt32 type) { } public virtual void VisitInt64(MetaInt64 type) { } public virtual void VisitUInt64(MetaUInt64 type) { } public virtual void VisitFloat(MetaFloat type) { } public virtual void VisitString(MetaString type) { } public virtual void VisitColor(MetaColor type) { } public virtual void VisitVector2(MetaVector2 type) { VisitStruct(type); } public virtual void VisitVector3(MetaVector3 type) { VisitStruct(type); } public virtual void VisitQuaternion(MetaQuaternion type) { VisitStruct(type); } public virtual void VisitMatrix4x3(MetaMatrix4x3 type) { VisitStruct(type); } public virtual void VisitPlane(MetaPlane type) { VisitStruct(type); } public virtual void VisitBoundingSphere(MetaBoundingSphere type) { VisitStruct(type); } public virtual void VisitBoundingBox(MetaBoundingBox type) { VisitStruct(type); } public virtual void VisitPointer(MetaPointer type) { } public virtual void VisitRawOffset(MetaRawOffset type) { } public virtual void VisitSepOffset(MetaSepOffset type) { } public virtual void VisitPadding(MetaPadding type) { } } }