Example #1
0
 public override void Read(ES2Reader reader, object c)
 {
     Nonogram data = (Nonogram)c;
     // Add your reader.Read calls here to read the data into the object.
     data.size = reader.Read<System.Int32>();
     data.tiles = reader.ReadDictionary<UnityEngine.Vector2,System.Boolean>();
 }
	public override void Read(ES2Reader reader, object c)
	{
		Population data = (Population)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0)
        {
            //data.brainType = reader.Read<Population.BrainType>();
            data.templateGenome = reader.Read<CritterGenome>();
            data.numInputNodes = reader.Read<System.Int32>();
            data.numOutputNodes = reader.Read<System.Int32>();
            data.populationMaxSize = reader.Read<System.Int32>();
            data.numAgents = reader.Read<System.Int32>();
            data.masterAgentArray = reader.ReadArray<Agent>();
            data.speciesBreedingPoolList = reader.ReadList<SpeciesBreedingPool>();
            data.nextAvailableSpeciesID = reader.Read<int>();
            data.trainingGenerations = reader.Read<int>();
            data.nextAvailableGeneInno = reader.Read<int>();
            if (fileVersion >= 1)
            {
                // new attributes
            }
        }
	}
    public override object Read(ES2Reader reader)
    {
        SaveObject data = new SaveObject();

        Read(reader, data);
        return(data);
    }
Example #4
0
    public static ES2Data LoadAll(string path)
    {
        ES2Settings settings = new ES2Settings(path);

        using (ES2Reader reader = ES2Reader.Create(settings))
            return(reader.ReadAll());
    }
    public override object Read(ES2Reader reader)
    {
        AgentData data = new AgentData();

        Read(reader, data);
        return(data);
    }
 public override void Read(ES2Reader reader, object c)
 {
     Devdog.InventoryPro.ItemCollectionSerializationModel data = (Devdog.InventoryPro.ItemCollectionSerializationModel)c;
     // Add your reader.Read calls here to read the data into the object.
     data.items      = reader.ReadArray <Devdog.InventoryPro.InventoryItemSerializationModel>();
     data.currencies = reader.ReadArray <Devdog.InventoryPro.CurrencyDecoratorSerializationModel>();
 }
Example #7
0
    public static Queue <T> LoadQueue <T>(string identifier)
    {
        ES2Settings newSettings = new ES2Settings(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            return(reader.ReadQueue <T>(newSettings.filenameData.tag));
    }
Example #8
0
    public static void LoadList <T>(string identifier, List <T> c, ES2Settings settings) where T : class
    {
        ES2Settings newSettings = settings.Clone(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            reader.ReadList <T>(newSettings.filenameData.tag, c);
    }
Example #9
0
    public static Stack <T> LoadStack <T>(string identifier, ES2Settings settings)
    {
        ES2Settings newSettings = settings.Clone(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            return(reader.ReadStack <T>(newSettings.filenameData.tag));
    }
Example #10
0
    public override object Read(ES2Reader reader)
    {
        Mesh mesh = new Mesh();

        Read(reader, mesh);
        return(mesh);
    }
	public override void Read(ES2Reader reader, object c)
	{
		MiniGameSettingsSaves data = (MiniGameSettingsSaves)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.angleSensorSensitivity = reader.Read<float>();
            data.gravityStrength = reader.Read<float>();
            data.groundBounce = reader.Read<float>();
            data.groundFriction = reader.Read<float>();
            data.groundPositionY = reader.Read<float>();
            data.jointMotorForce = reader.Read<float>();
            data.jointMotorSpeed = reader.Read<float>();
            data.maxScoreDistance = reader.Read<float>();
            data.maxTargetX = reader.Read<float>();
            data.maxTargetY = reader.Read<float>();
            data.maxTargetZ = reader.Read<float>();
            data.minScoreDistance = reader.Read<float>();
            data.minTargetX = reader.Read<float>();
            data.minTargetY = reader.Read<float>();
            data.minTargetZ = reader.Read<float>();
            data.targetRadius = reader.Read<float>();
            data.viscosityDrag = reader.Read<float>();
            data.initForceMax = reader.Read<float>();
            data.initForceMin = reader.Read<float>();
            data.useRandomTargetPos = reader.Read<float>();
            data.variableMass = reader.Read<float>();
            if (fileVersion >= 1) {
                // new attributes
            }
        }
    }
Example #12
0
    public static Dictionary <TKey, TValue> LoadDictionary <TKey, TValue>(string identifier, ES2Settings settings)
    {
        ES2Settings newSettings = settings.Clone(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            return(reader.ReadDictionary <TKey, TValue>(newSettings.filenameData.tag));
    }
 public override void Read(ES2Reader reader, object c)
 {
     SavedState data = (SavedState)c;
     // Add your reader.Read calls here to read the data into the object.
     data.Level = reader.Read<System.Int32>();
     data.ObstacleXPositions = reader.ReadList<System.Int32>();
     data.ObstacleYPositions = reader.ReadList<System.Int32>();
     data.ObstacleLevelType = reader.Read<ObstacleLibrary.LevelTypes>();
     data.CardsInHand = reader.ReadList<LibraryCard>();
     data.CardsInDeck = reader.ReadList<System.String>();
     data.CardsInDiscard = reader.ReadList<LibraryCard>();
     data.Enemies = reader.ReadList<System.String>();
     data.EnemyHealths = reader.ReadList<System.Int32>();
     data.EnemyXPositions = reader.ReadList<System.Int32>();
     data.EnemyYPositions = reader.ReadList<System.Int32>();
     data.EnemyPlays = reader.ReadList<System.Int32>();
     data.PlayerPosition = reader.ReadArray<System.Int32>();
     data.PlayerHealth = reader.Read<System.Int32>();
     data.PlayerMoves = reader.Read<System.Int32>();
     data.PlayerPlays = reader.Read<System.Int32>();
     data.Dollars = reader.Read<System.Int32>();
     data.BleedingTurns = reader.Read<System.Int32>();
     data.SwollenTurns = reader.Read<System.Int32>();
     data.HungerTurns = reader.Read<System.Int32>();
     data.Goals = reader.ReadArray<Goal>();
     data.TriggerList = reader.ReadList<System.String>();
     data.ShopCardList1 = reader.ReadList<LibraryCard>();
     data.ShopCardList2 = reader.ReadList<LibraryCard>();
     data.ShopCardList3 = reader.ReadList<LibraryCard>();
     data.ShopMode = reader.Read<System.Boolean>();
 }
Example #14
0
    public override object Read(ES2Reader reader)
    {
        AddonTimerInput data = new AddonTimerInput();

        Read(reader, data);
        return(data);
    }
    public override object Read(ES2Reader reader)
    {
        Wrestler param = GetOrCreate <Wrestler>();

        Read(reader, param);
        return(param);
    }
Example #16
0
    public override object Read(ES2Reader reader)
    {
        Layer data = new Layer();

        Read(reader, data);
        return(data);
    }
Example #17
0
    public static byte[] LoadRaw(string identifier, ES2Settings settings)
    {
        ES2Settings newSettings = settings.Clone(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            return(reader.ReadRaw());
    }
    public override object Read(ES2Reader reader)
    {
        Company param = GetOrCreate <Company>();

        Read(reader, param);
        return(param);
    }
	public override void Read(ES2Reader reader, object c)
	{
		CritterJointLink data = (CritterJointLink)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.thisNodeID = reader.Read<System.Int32>();
            data.parentNodeID = reader.Read<System.Int32>();
            data.attachDir = reader.Read<Vector3>();
            //data.thisNode = reader.Read<CritterNode>();
            data.jointLimitPrimary = reader.Read<System.Single>();
            data.jointLimitSecondary = reader.Read<System.Single>();
            data.jointType = reader.Read<CritterJointLink.JointType>();
            data.numberOfRecursions = reader.Read<System.Int32>();
            data.onlyAttachToTailNode = reader.Read<System.Boolean>();
            //if (data.parentNode != null)
            //data.parentNode = reader.Read<CritterNode>();
            data.recursionForward = reader.Read<System.Single>();
            data.recursionScalingFactor = reader.Read<System.Single>();
            data.restAngleDir = reader.Read<Vector3>();
            data.symmetryType = reader.Read<CritterJointLink.SymmetryType>();
        }
    }
    public override object Read(ES2Reader reader)
    {
        AddonPositionSensor3D data = new AddonPositionSensor3D();

        Read(reader, data);
        return(data);
    }
    public override object Read(ES2Reader reader)
    {
        LibraryCard data = new LibraryCard();

        Read(reader, data);
        return(data);
    }
Example #22
0
    public static void LoadArray <T>(string identifier, T[] c) where T : class
    {
        ES2Settings newSettings = new ES2Settings(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            reader.ReadArray <T>(newSettings.filenameData.tag, c);
    }
    public override object Read(ES2Reader reader)
    {
        AddonTorqueEffector1D data = new AddonTorqueEffector1D();

        Read(reader, data);
        return(data);
    }
    public override object Read(ES2Reader reader)
    {
        AddonEarBasic data = new AddonEarBasic();

        Read(reader, data);
        return(data);
    }
Example #25
0
    public override void Read(ES2Reader reader, object c)
    {
        Transform param        = (Transform)c;
        int       settingCount = (int)reader.reader.ReadByte();

        for (int i = 0; i < settingCount; i++)
        {
            switch (i)
            {
            case 0:
                param.localPosition = reader.Read <Vector3>();
                break;

            case 1:
                param.localRotation = reader.Read <Quaternion>();
                break;

            case 2:
                param.localScale = reader.Read <Vector3>();
                break;

            case 3:
                param.tag = reader.reader.ReadString();
                break;

            default:
                return;
            }
        }
    }
    public override object Read(ES2Reader reader)
    {
        TownBuilder data = new TownBuilder();

        Read(reader, data);
        return(data);
    }
    public override object Read(ES2Reader reader)
    {
        SavedState data = new SavedState();

        Read(reader, data);
        return(data);
    }
    public override void Read(ES2Reader reader, object c)
    {
        SavedState data = (SavedState)c;

        // Add your reader.Read calls here to read the data into the object.
        data.Level = reader.Read <System.Int32>();
        data.ObstacleXPositions = reader.ReadList <System.Int32>();
        data.ObstacleYPositions = reader.ReadList <System.Int32>();
        data.ObstacleLevelType  = reader.Read <ObstacleLibrary.LevelTypes>();
        data.CardsInHand        = reader.ReadList <LibraryCard>();
        data.CardsInDeck        = reader.ReadList <System.String>();
        data.CardsInDiscard     = reader.ReadList <LibraryCard>();
        data.Enemies            = reader.ReadList <System.String>();
        data.EnemyHealths       = reader.ReadList <System.Int32>();
        data.EnemyXPositions    = reader.ReadList <System.Int32>();
        data.EnemyYPositions    = reader.ReadList <System.Int32>();
        data.EnemyPlays         = reader.ReadList <System.Int32>();
        data.PlayerPosition     = reader.ReadArray <System.Int32>();
        data.PlayerHealth       = reader.Read <System.Int32>();
        data.PlayerMoves        = reader.Read <System.Int32>();
        data.PlayerPlays        = reader.Read <System.Int32>();
        data.Dollars            = reader.Read <System.Int32>();
        data.BleedingTurns      = reader.Read <System.Int32>();
        data.SwollenTurns       = reader.Read <System.Int32>();
        data.HungerTurns        = reader.Read <System.Int32>();
        data.Goals         = reader.ReadArray <Goal>();
        data.TriggerList   = reader.ReadList <System.String>();
        data.ShopCardList1 = reader.ReadList <LibraryCard>();
        data.ShopCardList2 = reader.ReadList <LibraryCard>();
        data.ShopCardList3 = reader.ReadList <LibraryCard>();
        data.ShopMode      = reader.Read <System.Boolean>();
    }
Example #29
0
    public static System.Object LoadObject(string identifier, ES2Settings settings)
    {
        ES2Settings newSettings = settings.Clone(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            return(reader.ReadObject(newSettings.filenameData.tag));
    }
    public override object Read(ES2Reader reader)
    {
        MemoryObject data = new MemoryObject();

        Read(reader, data);
        return(data);
    }
    public override object Read(ES2Reader reader)
    {
        ActiveSkillProgress data = new ActiveSkillProgress();

        Read(reader, data);
        return(data);
    }
    public override object Read(ES2Reader reader)
    {
        TrainingModifier data = new TrainingModifier();

        Read(reader, data);
        return(data);
    }
	public override void Read(ES2Reader reader, object c)
	{
		ArrayWrapper data = (ArrayWrapper)c;
		// Add your reader.Read calls here to read the data into the object.
		data.array = reader.ReadArray<System.String>();

	}
Example #34
0
    public override object Read(ES2Reader reader)
    {
        Sprite sprite = Sprite.Create(reader.Read <Texture2D>(), reader.Read <Rect>(), reader.Read <Vector2>(), reader.Read <float>());

        sprite.name = reader.Read <string>();
        return(sprite);
    }
Example #35
0
    public static ES2Data LoadAll(string identifier, ES2Settings settings)
    {
        ES2Settings newSettings = settings.Clone(identifier);

        using (ES2Reader reader = ES2Reader.Create(newSettings))
            return(reader.ReadAll());
    }
    public override object Read(ES2Reader reader)
    {
        AddonContactSensor data = new AddonContactSensor();

        Read(reader, data);
        return(data);
    }
	public override void Read(ES2Reader reader, object c)
	{
		HighScore data = (HighScore)c;
		// Add your reader.Read calls here to read the data into the object.
		data.name = reader.Read<System.String>();
		data.score = reader.Read<System.Int32>();

	}
	public override void Read(ES2Reader reader, object c)
	{
		Int3 data = (Int3)c;
        // Add your reader.Read calls here to read the data into the object.
        data.x = reader.Read<int>();
        data.y = reader.Read<int>();
        data.z = reader.Read<int>();
    }
	public override object Read(ES2Reader reader)
	{
        Devdog.InventorySystem.Models.InventoryItemSaveLookup data = new Devdog.InventorySystem.Models.InventoryItemSaveLookup();
		// Add your reader.Read calls here and return your object.
		data.itemID = reader.Read<System.Int32>();
		data.amount = reader.Read<System.UInt32>();

		return data;
	}
    public override void Read(ES2Reader reader, object c) {
        AddonTimerInput data = (AddonTimerInput)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
        }
    }
 public override void Read(ES2Reader reader, object c)
 {
     SavedGame data = (SavedGame)c;
     // Add your reader.Read calls here to read the data into the object.
     data.UnlockedCards = reader.ReadList<LibraryCard>();
     data.StartingDeckCards = reader.ReadList<LibraryCard>();
     data.DefeatedEnemies = reader.ReadList<System.String>();
     data.UnlockedGods = reader.ReadList<System.Int32>();
     data.GoalHighScores = reader.ReadDictionary<System.String,System.Int32>();
     data.FinishedTutorial = reader.Read<System.Boolean>();
     data.NewCardsAvailable = reader.Read<System.Boolean>();
 }
	public override void Read(ES2Reader reader, object c)
	{
		GenomeNEAT data = (GenomeNEAT)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.nodeNEATList = reader.ReadList<GeneNodeNEAT>();
            data.linkNEATList = reader.ReadList<GeneLinkNEAT>();
        }
    }
    public override void Read(ES2Reader reader, object c) {
        AddonContactSensor data = (AddonContactSensor)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.contactSensitivity = reader.ReadArray<System.Single>();
        }
    }
    public override void Read(ES2Reader reader, object c) {
        AddonThrusterEffector3D data = (AddonThrusterEffector3D)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.maxForce = reader.ReadArray<System.Single>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		AddonWeaponBasic data = (AddonWeaponBasic)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.strength = reader.ReadArray<float>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		AddonNoiseMakerBasic data = (AddonNoiseMakerBasic)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.amplitude = reader.ReadArray<System.Single>();
        }
    }
Example #47
0
	public override object Read(ES2Reader reader)
	{
		Level data = new Level();
		// Add your reader.Read calls here and return your object.
		data.LevelNum = reader.Read<System.Int32>();
		data.LevelScene = reader.Read<System.Int32>();
		data.LevelSceneNum = reader.Read<System.Int32>();
		data.LevelLock = reader.Read<System.Boolean>();
		data.isCurrent = reader.Read<System.Boolean>();
		data.LevelTime = reader.Read<System.Single>();
		data.LevelStars = reader.Read<System.Int32>();

		return data;
	}
	public override void Read(ES2Reader reader, object c)
	{
		AddonCompassSensor1D data = (AddonCompassSensor1D)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.forwardVector = reader.ReadArray<Vector3>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		AgentData data = (AgentData)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.rawValueTotal = reader.Read<float>();
            if (fileVersion >= 1) {
                // new attributes
            }
        }
    }
Example #50
0
 public override void Read(ES2Reader reader, object c)
 {
     Goal data = (Goal)c;
     // Add your reader.Read calls here to read the data into the object.
     data.God = reader.Read<ShopControl.Gods>();
     data.GodString = reader.Read<System.String>();
     data.Description = reader.Read<System.String>();
     data.MiniDescription = reader.Read<System.String>();
     data.CurrentScore = reader.Read<System.Int32>();
     data.HighScore = reader.Read<System.Int32>();
     data.GoalScore = reader.ReadArray<System.Int32>();
     data.DisplayScore = reader.Read<System.String>();
     data.DidGoalThisTurnTracker = reader.Read<System.Boolean>();
     data.HigherScoreIsGood = reader.Read<System.Boolean>();
 }
	public override void Read(ES2Reader reader, object c)
	{
		AddonVelocitySensor1D data = (AddonVelocitySensor1D)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.forwardVector = reader.ReadArray<Vector3>();
            data.relative = reader.ReadArray<System.Boolean>();
            data.sensitivity = reader.ReadArray<System.Single>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		AddonOscillatorInput data = (AddonOscillatorInput)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.critterNodeID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
            data.frequency = reader.ReadArray<System.Single>();
            data.amplitude = reader.ReadArray<System.Single>();
            data.offset = reader.ReadArray<System.Single>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		TrialData data = (TrialData)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.fitnessComponentDataArray = reader.ReadArray<FitnessComponentData>();
            data.totalSumOfWeights = reader.Read<float>();
            if (fileVersion >= 1) {
                // new attributes
            }
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		GeneNodeNEAT data = (GeneNodeNEAT)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.activationFunction = reader.Read<TransferFunctions.TransferFunction>();
            data.id = reader.Read<int>();
            data.nodeType = reader.Read<GeneNodeNEAT.GeneNodeType>();
            data.sourceAddonInno = reader.Read<int>();
            data.sourceAddonRecursionNum = reader.Read<int>();
            data.sourceAddonChannelNum = reader.Read<int>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		GeneLinkNEAT data = (GeneLinkNEAT)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.enabled = reader.Read<bool>();
            data.fromNodeID = reader.Read<Int3>();
            data.innov = reader.Read<int>();
            data.toNodeID = reader.Read<Int3>();
            data.weight = reader.Read<float>();
            data.birthGen = reader.Read<int>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		TrainingModifier data = (TrainingModifier)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            
            data.adoptionRate = reader.Read<float>();
            data.beginMaxAngle = reader.Read<float>();
            data.beginMaxDistance = reader.Read<float>();
            data.beginMaxTime = reader.Read<float>();
            data.beginMinAngle = reader.Read<float>();
            data.beginMinDistance = reader.Read<float>();
            data.beginMinTime = reader.Read<float>();
            data.decayEffectOverDuration = reader.Read<bool>();
            data.duration = reader.Read<int>();
            data.endMaxAngle = reader.Read<float>();
            data.endMaxDistance = reader.Read<float>();
            data.endMaxTime = reader.Read<float>();
            data.endMinAngle = reader.Read<float>();
            data.endMinDistance = reader.Read<float>();
            data.endMinTime = reader.Read<float>();
            data.forward = reader.Read<bool>();
            data.horizontal = reader.Read<bool>();
            data.largeBrainPenalty = reader.Read<float>();
            data.largeSpeciesPenalty = reader.Read<float>();
            data.linksPerNode = reader.Read<float>();
            data.liveForever = reader.Read<bool>();
            data.minMultiplier = reader.Read<float>();
            data.modifierType = reader.Read<TrainingModifier.TrainingModifierType>();
            data.nodesPerLink = reader.Read<float>();
            data.numRounds = reader.Read<int>();
            data.removeLinkChance = reader.Read<float>();
            data.removeNodeChance = reader.Read<float>();
            data.speciesSimilarityThreshold = reader.Read<float>();
            data.startGen = reader.Read<int>();
            data.vertical = reader.Read<bool>();

            if (fileVersion >= 1) {
                // new attributes
            }
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		CritterNode data = (CritterNode)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            //data.attachedJointLinkList = reader.ReadList<CritterJointLink>();
            //if (data.jointLink != null) 
            data.attachedChildNodesIdList = reader.ReadList<System.Int32>();           
            data.jointLink = reader.Read<CritterJointLink>();           
            data.dimensions = reader.Read<Vector3>();
            data.ID = reader.Read<System.Int32>();
            data.innov = reader.Read<System.Int32>();
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		SpeciesBreedingPool data = (SpeciesBreedingPool)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.agentList = reader.ReadList<Agent>();
            data.nextAgentIndex = reader.Read<int>();
            data.speciesID = reader.Read<int>();
            data.templateGenome = reader.Read<GenomeNEAT>();
            if (fileVersion >= 1) {
                // new attributes
            }
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		FitnessComponentData data = (FitnessComponentData)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.agentDataArray = reader.ReadArray<AgentData>();
            data.highestScore = reader.Read<float>();
            data.lowestScore = reader.Read<float>();
            data.totalRawScore = reader.Read<float>();
            if (fileVersion >= 1) {
                // new attributes
            }
        }
    }
	public override void Read(ES2Reader reader, object c)
	{
		CritterGenome data = (CritterGenome)c;
        // Add your reader.Read calls here to read the data into the object.
        // Read the version number.
        int fileVersion = reader.Read<int>();

        // VERSION 0:
        if (fileVersion >= 0) {
            data.CritterNodeList = reader.ReadList<CritterNode>();
            data.savedNextNodeInno = reader.Read<int>();
            data.savedNextAddonInno = reader.Read<int>();

            data.addonPhysicalAttributesList = reader.ReadList<AddonPhysicalAttributes>();

            data.addonJointAngleSensorList = reader.ReadList<AddonJointAngleSensor>();
            data.addonContactSensorList = reader.ReadList<AddonContactSensor>();
            data.addonRaycastSensorList = reader.ReadList<AddonRaycastSensor>();
            data.addonCompassSensor1DList = reader.ReadList<AddonCompassSensor1D>();
            data.addonCompassSensor3DList = reader.ReadList<AddonCompassSensor3D>();
            data.addonPositionSensor1DList = reader.ReadList<AddonPositionSensor1D>();
            data.addonPositionSensor3DList = reader.ReadList<AddonPositionSensor3D>();
            data.addonRotationSensor1DList = reader.ReadList<AddonRotationSensor1D>();
            data.addonRotationSensor3DList = reader.ReadList<AddonRotationSensor3D>();
            data.addonVelocitySensor1DList = reader.ReadList<AddonVelocitySensor1D>();
            data.addonVelocitySensor3DList = reader.ReadList<AddonVelocitySensor3D>();
            data.addonAltimeterList = reader.ReadList<AddonAltimeter>();
            data.addonEarBasicList = reader.ReadList<AddonEarBasic>();
            data.addonGravitySensorList = reader.ReadList<AddonGravitySensor>();
            data.addonOscillatorInputList = reader.ReadList<AddonOscillatorInput>();
            data.addonValueInputList = reader.ReadList<AddonValueInput>();
            data.addonTimerInputList = reader.ReadList<AddonTimerInput>();

            data.addonJointMotorList = reader.ReadList<AddonJointMotor>();
            data.addonThrusterEffector1DList = reader.ReadList<AddonThrusterEffector1D>();
            data.addonThrusterEffector3DList = reader.ReadList<AddonThrusterEffector3D>();
            data.addonTorqueEffector1DList = reader.ReadList<AddonTorqueEffector1D>();
            data.addonTorqueEffector3DList = reader.ReadList<AddonTorqueEffector3D>();
            data.addonMouthBasicList = reader.ReadList<AddonMouthBasic>();
            data.addonNoiseMakerBasicList = reader.ReadList<AddonNoiseMakerBasic>();
            data.addonStickyList = reader.ReadList<AddonSticky>();
            data.addonWeaponBasicList = reader.ReadList<AddonWeaponBasic>();
        }
    }