예제 #1
0
    public override void LoadDiffFrame(string binarySave)
    {
        byte[]              byteArray = Convert.FromBase64String(binarySave);
        MemoryStream        mf        = new MemoryStream(byteArray);
        BinaryFormatter     bf        = new BinaryFormatter();
        BulletDiffFrameData data      = (BulletDiffFrameData)bf.Deserialize(mf);

        transform.position = VectorArrayConverter.arrayToVector3(data.position);
        transform.rotation = Quaternion.Euler(VectorArrayConverter.arrayToVector3(data.rotation));
    }
예제 #2
0
    public override string MakeDiffFrame()
    {
        BinaryFormatter bf = new BinaryFormatter();
        MemoryStream    ms = new MemoryStream();

        BulletDiffFrameData data = new BulletDiffFrameData();

        data.position = VectorArrayConverter.vector3ToArray(transform.position);
        data.rotation = VectorArrayConverter.vector3ToArray(transform.rotation.eulerAngles);

        bf.Serialize(ms, data);

        return(Convert.ToBase64String(ms.ToArray()));
    }