diff --git a/inc/xna/pipeline/writers/default.hpp b/inc/xna/pipeline/writers/default.hpp index 3f4162c..978625b 100644 --- a/inc/xna/pipeline/writers/default.hpp +++ b/inc/xna/pipeline/writers/default.hpp @@ -80,6 +80,146 @@ namespace xna { } }; + + class DoubleWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, double& value) override { + output.Write(value); + } + }; + + class Int16Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Short& value) override { + output.Write(value); + } + }; + + class Int32Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Int& value) override { + output.Write(value); + } + }; + + class Int64Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Long& value) override { + output.Write(value); + } + }; + + class MatrixWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Matrix& value) override { + output.Write(value); + } + }; + + class PlaneWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Plane& value) override { + output.Write(value.Normal); + output.Write(value.D); + } + }; + + class PointWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Point& value) override { + output.Write(value.X); + output.Write(value.Y); + } + }; + + class QuaternionWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Quaternion& value) override { + output.Write(value); + } + }; + + class RayWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Ray& value) override { + output.Write(value.Position); + output.Write(value.Direction); + } + }; + + class RectangleWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Rectangle& value) override { + output.Write(value.X); + output.Write(value.Y); + output.Write(value.Width); + output.Write(value.Height); + } + }; + + class SByteWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Sbyte& value) override { + output.Write(value); + } + }; + + class SingleWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, float& value) override { + output.Write(value); + } + }; + + class StringWriter : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, String& value) override { + output.Write(value); + } + }; + + class UInt16Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Ushort& value) override { + output.Write(value); + } + }; + + class UInt32Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Uint& value) override { + output.Write(value); + } + }; + + class UInt64Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Ulong& value) override { + output.Write(value); + } + }; + + class Vector2Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Vector2& value) override { + output.Write(value); + } + }; + + class Vector3Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Vector3& value) override { + output.Write(value); + } + }; + + class Vector4Writer : public BuiltinTypeWriter { + public: + void Write(ContentWriter& output, Vector4& value) override { + output.Write(value); + } + }; + } #endif \ No newline at end of file