Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace BayatGames.SaveGamePro.Serialization.Types
- {
- /// <summary>
- /// Save Game Type Tile serialization implementation.
- /// </summary>
- public class SaveGameType_Tile : SaveGameType
- {
- /// <summary>
- /// Gets the associated type for this custom type.
- /// </summary>
- /// <value>The type of the associated.</value>
- public override Type AssociatedType
- {
- get
- {
- return typeof ( Tile );
- }
- }
- /// <summary>
- /// Write the specified value using the writer.
- /// </summary>
- /// <param name="value">Value.</param>
- /// <param name="writer">Writer.</param>
- public override void Write ( object value, ISaveGameWriter writer )
- {
- Tile tile = ( Tile )value;
- writer.WriteProperty ( "tileName", tile.tileName );
- writer.WriteProperty ( "Type", tile.Type );
- }
- /// <summary>
- /// Read the data using the reader.
- /// </summary>
- /// <param name="reader">Reader.</param>
- public override object Read ( ISaveGameReader reader )
- {
- Tile tile = new Tile();
- ReadInto(tile, reader);
- return tile;
- // return base.Read ( reader );
- }
- /// <summary>
- /// Read the data into the specified value.
- /// </summary>
- /// <param name="value">Value.</param>
- /// <param name="reader">Reader.</param>
- public override void ReadInto ( object value, ISaveGameReader reader )
- {
- Tile tile = ( Tile )value;
- foreach ( string property in reader.Properties )
- {
- switch ( property )
- {
- case "tileName":
- tile.tileName = reader.ReadProperty<System.String> ();
- break;
- case "Type":
- tile.Type = reader.ReadProperty<TileType> ();
- break;
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment