Пример #1
0
    void Awake()
    {
        if (Instance != null)
        {
            Destroy(gameObject);
            return;
        }

        Instance = this;
        DontDestroyOnLoad(gameObject);

        Formatter <DefaultResolver, UserDataV1> .Register(new UserDataV1Formatter <DefaultResolver>());

        UserDataFilePath = Path.Combine(Application.persistentDataPath, UserDataV1.USER_DATA_FILE_NAME);
        if (File.Exists(UserDataFilePath))
        {
            UserData = ZeroFormatterSerializer.Deserialize <UserDataV1>(File.ReadAllBytes(UserDataFilePath));
        }
        else
        {
            UserData = new UserDataV1();
        }

        Formatter <DefaultResolver, PuzzleDataV1> .Register(new PuzzleDataV1Formatter <DefaultResolver>());

        PuzzleDataFilePath = Path.Combine(Application.persistentDataPath, PuzzleDataV1.PUZZLE_DATA_FILE_NAME);
        if (File.Exists(PuzzleDataFilePath))
        {
            PuzzleData = ZeroFormatterSerializer.Deserialize <PuzzleDataV1>(File.ReadAllBytes(PuzzleDataFilePath));
        }
        else
        {
            PuzzleData = new PuzzleDataV1();
        }

        Formatter <DefaultResolver, ReplayDataV1> .Register(new ReplayDataV1Formatter <DefaultResolver>());

        ReplayDataFilePath = Path.Combine(Application.persistentDataPath, ReplayDataV1.REPLAY_DATA_FILE_NAME);
        if (File.Exists(ReplayDataFilePath))
        {
            ReplayData = ZeroFormatterSerializer.Deserialize <ReplayDataV1>(File.ReadAllBytes(ReplayDataFilePath));
        }
        else
        {
            ReplayData = new ReplayDataV1();
        }
    }
Пример #2
0
    public override int Serialize(ref byte[] bytes, int offset, PuzzleDataV1 value)
    {
        int startOffset = offset;

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Row);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Col);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Color);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Link);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Direction);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Time);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Stop);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.CountDisp);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Garbage);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.WriteCount);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Practice);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved11);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved12);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved13);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved14);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved15);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved16);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved17);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved18);

        offset += Formatter <TTypeResolver, int> .Default.Serialize(ref bytes, offset, value.Reserved19);

        return(offset - startOffset);
    }
Пример #3
0
    public override PuzzleDataV1 Deserialize(ref byte[] bytes, int offset, DirtyTracker tracker, out int byteSize)
    {
        PuzzleDataV1 value = new PuzzleDataV1();

        value.Row = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset   += 4;
        value.Col = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset     += 4;
        value.Color = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset    += 4;
        value.Link = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset         += 4;
        value.Direction = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset    += 4;
        value.Time = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset    += 4;
        value.Stop = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset         += 4;
        value.CountDisp = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset       += 4;
        value.Garbage = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.WriteCount = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset += 4;

        value.Practice = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved11 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved12 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved13 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved14 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved15 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved16 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved17 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved18 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset          += 4;
        value.Reserved19 = Formatter <TTypeResolver, int> .Default.Deserialize(ref bytes, offset, tracker, out byteSize);

        offset += 4;

        return(value);
    }