Subversion Repositories AndroidProjects

Rev

Rev 1607 | Blame | Compare with Previous | Last modification | View Log | RSS feed

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using BauzoidNET.math;

namespace BurutaruEditor.file
{
    public abstract class Serializer
    {
        //======================================================================================================================================================
       
        public enum OpenMode
        {
            None,
            Read,
            Write
        }

        //======================================================================================================================================================

        private OpenMode mOpenMode = OpenMode.None;

        //======================================================================================================================================================

        public Serializer(string filename, OpenMode mode)
        {
            mOpenMode = mode;
        }

        public abstract void Close();

        //======================================================================================================================================================

        public abstract void Write(string str);
        public abstract void Write(float number);
        public abstract void Write(int number);
        public abstract void Write(Vector2 v);
        public abstract void Write(Vector3 v);
        public abstract void Write(Vector4 v);
        public abstract void Write(bool b);

        public abstract string ReadString();
        public abstract float ReadFloat();
        public abstract int ReadInt();
        public abstract Vector2 ReadVector2();
        public abstract bool ReadBool();


        //======================================================================================================================================================

        public bool isOpenForReading()
        {
            return (mOpenMode == OpenMode.Read);
        }

        public bool isOpenForWriting()
        {
            return (mOpenMode == OpenMode.Write);
        }
    }
}